當前位置:首頁 » 編程軟體 » 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程序。

熱點內容
不用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
用什麼寫c語言 發布:2025-05-15 21:35:56 瀏覽:418
linux讀取u盤 發布:2025-05-15 21:32:13 瀏覽:508