当前位置:首页 » 编程软件 » net编译可以在linux上吗

net编译可以在linux上吗

发布时间: 2025-05-15 18:01:18

1. .net可以运行在linux上面

.net 项目要运行需要 底层运行库 .net freamework的支持,在linux中是不能直接运行的。

NET是微软的新一代技术平台,为敏捷商务构建互联互通的应用系统,这些系统是基于标准的,联通的,适应变化的,稳定的和高性能的。从技术的角度,一个.NET应用是一个运行于.NET Framework之上的应用程序。

如果一个应用程序跟.NET Framework无关,它就不能叫做.NET程序。比如,仅仅使用了XML并不就是.NET应用,仅仅使用SOAP SDK调用一个Web Service也不是.NET应用。.NET是基于Windows操作系统运行的操作平台,应用于互联网的分布式。



(1)net编译可以在linux上吗扩展阅读

.Net框架设计原则

1、互操作性

Net框架提供了许多向后支持。假设您有一个基于.Net框架的较旧版本(例如2.0)构建的应用程序。如果尝试在具有更高版本.Net框架的计算机上运行同一应用程序,比如3.5。该应用程序仍然可以运行。这是因为Microsoft在每个发行版中均确保较早的框架版本与最新版本兼容。

2、可移植性

基于.Net框架的应用程序可以在任何Windows平台上运行。现在,Microsoft还计划使Microsoft产品在其他平台(例如iOS和Linux)上运行,.Net Core实现了这一点。

3、安全性

NET Framework具有良好的安全性机制。内置的安全机制有助于验证应用程序。每个应用程序都可以显式定义其安全性机制。每种安全机制均用于授予用户访问代码或运行程序的权限。

4、内存管理

公共语言运行时执行所有工作或内存管理。.Net框架具有查看那些正在运行的程序未使用的资源的全部功能。然后它将相应地释放这些资源。这是通过称为“垃圾收集器”的程序完成的,该程序作为.Net框架的一部分运行。

5、简化的部署

Net框架还具有工具,可用于打包基于.Net框架构建的应用程序。然后可以将这些软件包分发到客户端计算机。这些软件包将自动安装该应用程序。

2. 如何利用mono把.net windows service程序迁移到linux上

目的:使用mono将ASP.NET编写的Window服务移植到Linux下运行
使用的软件:mono2.0, Linux Red hat
步骤:
1、在Window下编写一个Remoting服务端作为Window服务。包括
RemoteServer.exe(服务运行文件)
RemoteServer.exe.config(配置文件)
将这两个文件放到Linux系统的一个目录下,本例放在/home/RemoteTest/RemoteServer下
2、 编写Linux服务脚本sjhServer,将脚本放在 /etc/rc.d/init.d目录下
3、 建立符号链接。建立相应运行级别的脚本符号链接,本例中是2、3、4、5级,使用命令 :
cd /etc/rc.d/rc2.d (相应地建立第3级的链接,cd到rc3.d目录下)
ln –s /etc/rc.d/init.d/sjhServer S97sjhServer
4、 启动服务。使用命令:
service sjhService start

5、 本例中有一个客户端程序RemoteClient.exe用做侦听。运行RemoteClient.exe,返回运行结果说明服务已经在运行,如果客户端出现目标机器积极拒绝说明服务没有启动
6、停止服务,使用命令:
service sjhService stop

到此ASP.NET的服务移植到Linux就算完成,和其它Linux的系统服务一样,操作方法都一样。

存在的几个疑点:
一、第3点建立符号链接时,只建立了S的链接,没有建立K的链接。还有启动和停止服务的顺序的定义有什么规则,是否对其它服务有顺序上的依赖。
二、服务的暂停不起作用,Remoting这个服务是否没有这个概念。其它类型服务有待测试。

另外一种方式:
如何在Linux部署mono,并成功的运行.net程序,还请大家多多查询吧,我在这方面也只是搭建成功了,遇到的问题不足够多,就不误导大家了。

用mono来在Linux运行一个.net程序还是很容易的,但如何运行一个后台服务程序呢,今天也是费了九牛二虎之力,最后借鉴一下stackoverflow中的一个回答来诠释这个难题吧。

Under Linux, deamons are simple background processes. No special control methods (e.g start() , stop() ) are used as in Windows. Build your service as a simple (console) application, and run it in the background. Use a tool like daemonizeto run a program as a Unix daemon, and remember to specify mono as the program to be activated.
As noted by others, mono-service is a host to run services built with the ServiceProcess assembly. Services built for Windows can use this method to run unmodified under Linux. You can control the service by sending signals to the process (see man page).
我英文不是太好,只能大概理解其中的意思。里边的滋味大家可以自己细细品味。
大致意思就是说,第一种方式:在Linux下可以把windows服务改造成一个控制台程序来运行。第二种方式:用mono-service来运行windows的服务程序。前提是你这个程序是有.net写成的。
mono-service运行时参数又该如何配置呢?
命令格式:mono-service [options] program.exe
-d:DIRECTORYUse this option to specify the working directory for the service. The default is the current directory.
-l:LOCKFILESpecifies the file to use for locking, the default is a filename constructed in /tmp based on the name of the program that hosts the service.
-m:MESSAGEName to show in the syslog.
-n:NAMEUse this to specify the service to be launched (if the program contains more than one service). The default is to run the first defined service.
--debug:Use this option to prevent mono-service from redirecting stdin and stdout and prevent the program to be sent to the background. Equivalent to
--no-daemon:Use this option to prevent mono-service from redirecting stdin and stdout and prevent the program to be sent to the background. Equivalent to --debug.
例:mono-service -l:/root/service-lock MyService.exe

控制服务(这几种操作的区别请参考windows的使用方式,这里我就不做过多解释了):
暂停: kill -USR1 'cat <lock file>'
继续: kill -USR2 'cat <lock file>'
停止: kill 'cat <lock file>'

注意:Use mono-service to run services that use the 1.0 assemblies and use mono-service2 to run services that use the 2.0 assemblies.
mono-service可以运行.net 1.0的程序集,mono-service2可以运行.net 2.0的程序集。

3. .net可以运行在linux上面

.net 项目要运行需要 底层运行库 .net freamework的支持,在linux中是不能直接运行的。

NET微软的新一代技术平台,为敏捷商务构建互联互通的应用系统,这些系统是基于标准的,联通的,适应变化的,稳定的和高性能的。

从技术的角度,一个.NET应用是一个运行于.NET Framework之上的应用程序。如果一个应用程序跟.NET Framework无关,它就不能叫做.NET程序。



(3)net编译可以在linux上吗扩展阅读


NET的基本用法:

NET [ ACCOUNTS | COMPUTER | CONFIG | CONTINUE | FILE | GROUP | HELP |

HELPMSG | LOCALGROUP | NAME | PAUSE | PRINT | SEND | SESSION |

SHARE | START | STATISTICS | STOP | TIME | USE | USER | VIEW ]

Net Accounts

更新用户账号数据库、更改密码及所有账号的登录要求。

命令格式:net accounts [/forcelogoff:{minutes | no}] [/minpwlen:length] [/maxpwage:{days | unlimited}] [/minpwage:days] [/uniquepw:number] [/domain]

4. 什么是.net编程

.Net是一种编程框架,它提供了一个高层次的抽象,使开发人员能够在掌握一定基础编程知识的情况下,更容易地开发产品。.Net框架是用于开发应用软件和托管类库的平台,它包含了编译器和工具,支持在生成、调试及执行托管应用程序时所需的功能。

在.NET框架中,应用程序被称为“托管”,这意味着它们的执行是由.NET框架管理的,提供了如应用程序加载、内存管理、安全性和资源完整性等服务。.Net框架通过提供一个受控的运行时环境来管理这些执行过程,确保应用程序在运行时能够正常工作。

在.NET框架出现之前,如C++和VB6等编程语言所处的环境中,操作系统中没有提供类似.NET框架的服务,应用程序需要自行管理内存和安全性等,这可能导致错误代码、安全漏洞以及数据丢失等问题。

.Net框架提供了丰富的工具,包括编译器、调试器、多种编程语言、执行引擎(即Common Language Runtime, CLR)、开发工具及大量的预定义类库(Framework Class Libraries, FCLs)。FCLs提供了广泛的功能模块,可以满足开发人员的不同需求。

此外,.Net支持多种编程语言,包括VB.NET、J#、C#、F#等,所有编程语言最终都将由CLR执行,因此.Net是“语言无关”的。现在,微软还推出了支持托管.Net编程的VC++版本。

凭借.Net框架的强大功能,.Net编程可以应用于多种场景,如桌面应用程序、Web应用程序、便携设备应用程序、游戏开发、用户界面开发、富互联网开发等。通过安装一些插件,还可以在Linux等操作系统上运行.Net程序。

热点内容
超凡先锋配置不行怎么办 发布:2025-05-15 23:27:54 浏览:530
win7取消加密 发布:2025-05-15 23:26:37 浏览:470
不用internet打开ftp 发布:2025-05-15 23:06:00 浏览:153
sql字符串取数字 发布:2025-05-15 22:57:45 浏览:124
推荐编程课 发布:2025-05-15 22:34:12 浏览:618
表拒绝访问 发布:2025-05-15 22:29:37 浏览:978
电脑怎样解压文件 发布:2025-05-15 22:25:32 浏览:439
dns服务器怎么看 发布:2025-05-15 22:17:27 浏览:151
3dm的压缩包 发布:2025-05-15 22:09:23 浏览:662
和存储字长 发布:2025-05-15 21:54:09 浏览:515