為什么80%的碼農都做不了架構師?>>> ??
有個程序,在.net下寫了半天,總算跑起來了,發現有個問題,在windows上不好弄,而同事前一段時間已經有Linux下的解決方法了,于是想直接將.net程序放在linux下運行
在linux上的mono環境已經配置好了,詳細配置請看 [debian安裝mono環境](http://www.cnblogs.com/ac1985482/p/3347284.html)
其實只需要通過mono程序啟動就可以了
sudo mono appName.exe
附一篇visual Studio開發部署到Linux的文章
在UBUNTU 8.04 LTS 安裝.NET FRAMEWORK 2.0 執行環境( RUNTIME )
由于Ubuntu 8.04 LTS 已經內建mono ( 含.net 1.1 與2.0 ),所以可以直接透過apt-get 進行安裝:
apt-get install mono-2.0-devel
只要安裝mono-2.0-devel 他就會自動幫你安裝所有相依的套件。如果你有安裝X-Windows 視窗畫面的話,可以多安裝一個libmono-winforms2.0-cil 套件,就可以在X-Windows 上執行WinForm 的程式了:
apt-get install mono-2.0-devel libmono-winforms2.0-cil
正確設定執行.NET 應用程式的環境要求
如果你的Console應用程式中有出現中文字的話,由于.NET是一套完全以Unicode為主的程式架構,所以你務必要檢視系統是否可以顯示中文,而且連上Linux的連線工具可以正確顯示Unicode文字才行。
首先,必須設定Linux下的LANG環境變數,而且要指定為UTF-8編碼,如下:
export LANG=zh_TW.UTF-8
至于連線工具建議使用Unicode支援度較佳的PieTTY連線程式,并且確定連上時的字元編碼設定是否切換到Unicode ( UTF-8 )這一項。
連線工具建議使用Unicode 支援度較佳的PieTTY 連線程式,并且確定連上時的字元編碼設定是否切換到Unicode ( UTF-8 ) 這一項。
執行.NET 2.0 應用程式( CONSOLE APPLICATION )
所有要在Linux 下執行.NET 的程式,都必須透過mono 程式啟動,例如:
mono ConsoleApplication1.exe
整合VISUAL STUDIO 開發流程并自動部署至LINUX 主機
整體來說,我個人覺得在Windows利用Visual Studio開發一些工具,然后部署到Linux執行的過程還蠻順利的,像我就透過PuTTY官網所提供的PSCP指令列工具搭配Visual Studio中的Post-build event讓我在建置(Build)完成后自動將新的程式部署到公司內部的Linux測試主機,然后就可以立即進行測試。指令大致如下:
pscp.exe -i "G:\PuTTY Private Key.ppk" ParseMBOX.exe root@10.0.0.1 :.
額外補充:
Linux 平臺下類似Visual Studio 的開發工具:MonoDevelop
目前推出到MonoDevelop 2.0版,可以完全在Linux環境下開發.NET 2.0應用程式(支援C# 3.0 ),包括ASP.NET與WinForm。
在Visual Studio 中安裝Mono 外掛工具
現在Mono官方還提供支援Mono的Visual Studio外掛工具,可以在Visual Studio測試Mono的相容性( MoMA ),還支援遠端除錯,讓你可以在Visual Studio中直接測試Linux上執行的程式,在這里有完整的圖說,該工具會自動編譯–>復制輸出到Linux主機–>并且自動啟動執行,不止WinForm、WebForm (ASP.NET)都可以,幾乎讓你離不開Visual Studio的視線。
雖然該工具目前處于Preview 的階段,但似乎挺有趣的,有興趣的人可以玩玩看。
文章地址