有个程序,在.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 的阶段,但似乎挺有趣的,有兴趣的人可以玩玩看。