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

文章地址

在linux上执行.net Console apps的更多相关文章

  1. PHP在linux上执行外部命令

    PHP在linux上执行外部命令 一.PHP中调用外部命令介绍二.关于安全问题三.关于超时问题四.关于PHP运行linux环境中命令出现的问题 一.PHP中调用外部命令介绍在PHP中调用外部命令,可以 ...

  2. Jmeter分布式及在Linux上执行jmeter脚本

    Jmeter分布式 主控机即自己的电脑,控制并发数 压力机即别人的机器,和主控机一起添加压力 1.其他的压力机需要启动Jmeter-server.bat 启动成功页面 2.主控机的Jmeter 的bi ...

  3. php -- PHP在linux上执行外部命令,system(),exec(),shell_exec()

    目录:一.PHP中调用外部命令介绍二.关于安全问题三.关于超时问题四.关于PHP运行linux环境中命令出现的问题 一.PHP中调用外部命令介绍 在PHP中调用外部命令,有三种方法: 1. 调用专门函 ...

  4. windows python文件拷贝到linux上执行问题-换行符问题/r/n

    之前在Windows下写好了一个Python脚本,运行没问题,今天在Linux下,脚本开头的注释行已经指明了解释器的路径,也用chmod给了执行权限,但就是不能直接运行脚本. 1 问题1: 报错:: ...

  5. Linux培训教程 浅谈:PHP在linux上执行外部命令(整理)

    一.PHP中调用外部命令介绍 二.关于安全问题 三.关于超时问题 四.关于PHP运行linux环境中命令出现的问题 一.PHP中调用外部命令介绍 在PHP中调用外部命令,可以用,1>调用专门函数 ...

  6. linux上执行jmeter脚本

    1.linux上安装jmeter 将windows上的zip包直接放到linux上 进入bin目录,chmod 777 jmeter 修改环境变量: 1 2 3 4 # vim /etc/profil ...

  7. linux上执行 xhost unable to open display

    linux下执行xhost命令报错:unable to open display,解决方法,linux 下通过xhost进入图形界面,经常会出现报错"unable to  open disp ...

  8. linux上执行mysql的脚本文件

    我们测试过程中,经常需要执行升级脚本或导入生产测试数据,对于轻量的升级脚本可以直接在客户端工具中打开执行,但是对于文件内容比较大的.sql文件,比如几百M,几G的sql文件,直接拖到客户端工具打开执行 ...

  9. windows python文件拷贝到linux上执行问题

    之前在Windows下写好了一个Python脚本,运行没问题,今天在Linux下,脚本开头的注释行已经指明了解释器的路径,也用chmod给了执行权限,但就是不能直接运行脚本. 1 问题1: 报错:: ...

随机推荐

  1. CentOS6.5下安装iRedMail中需要解决的问题

    iRedMail是个专门用于Redhat/CentOS下的企业Mail服务集成安装软件包,本来只要有干净的系统就可以轻松安装,无奈国内网络状况和墙头众多,安装中也有很多问题需要解决,下面记录的都是我安 ...

  2. Android 布局学习之——Layout(布局)详解一

    layout(布局)定义了用户界面的可视化结构(visual structure),如Activity的UI,应用窗口的UI. 有两种方式声明layout: 1.在xml文件中声明UI组件. 2.在运 ...

  3. Winform窗体控件自适应大小

    自己写的winform窗体自适应大小代码,代码比较独立,很适合贴来贴去不会对原有程序造成影响,可以直接继承此类或者把代码复制到自己的代码里面直接使用 借鉴了网上的一些资料,最后采用重写WndProc方 ...

  4. HQS——Half Quadratic Splitting半二次方分裂

    变量分裂法 变量分裂法(Variable Splitting),解决目标函数是两个函数之和的优化问题. 1)其中g是n维向量到d维向量的一个映射. 变量分裂将上式变为: 问题(2)可能比(1)更容易或 ...

  5. linux环境中,如何通过手动创建crontab文件的方式来设置crontab定时调度任务?

    需求描述: 之前在创建定时任务的时候,都是通过cronab -e的方式进行创建,今天在做通过脚本部署定时任务的时候, 就想,通过crontab -e编辑的定时任务存放在哪个文件里,是否,可以手动的编辑 ...

  6. 【jmeter】 jmeter 测试HTTP接口

    到apache官网下载jmeter:http://jmeter.apache.org/download_jmeter.cgi 1.运行 bin/jmeter.bat ,添加线程组 2.添加HTTP请求 ...

  7. okHttp3自用封装

    okHttp都已经出到3.2.0了,现在才开始要用到它,感觉自己好low~~ 根据平时自己的习惯,还是自己做一下封装,让代码撸起来更加顺畅一点! okhttp-3.2.0和okio-1.7.0就不多说 ...

  8. Java并发编程、内存模型与Volatile

    http://www.importnew.com/24082.html  volatile关键字 http://www.importnew.com/16142.html  ConcurrentHash ...

  9. GreenPlum数据加载

    1. copy命令 对于数据加载,GreenPlum数据库提供copy工具,copy工具源于PostgreSQL数据库,copy命令支持文件与表之间的数据加载和表对文件的数据卸载.使用copy命令进行 ...

  10. Python中定义函数时参数有默认值的小陷阱

    在定义函数的时候,如果函数的参数有默认值,有两种类型的参数,一种是整数,字符串这种不可变类型,另一种是列表这种可变类型,对于第一种情况没有什么特殊的地方,但是对于可变类型,有一个微妙的小陷阱. 可变类 ...