ROS Group 产品服务
Product Service 开源代码库
Github 官网
Official website 技术交流
Technological exchanges 激光雷达
LIDAR ROS教程
ROS Tourials 深度学习
Deep Learning 机器视觉
Computer Vision
Linux 下的 C# 开发
-
Linux 下的C#开发
在2014年微软开源了C#, C#也被官方移植到了Linux平台。Microsoft 开始真正的 Love Linux 了。但是实际上早在官方移植之前,就已经有人实现了在Linux下的C#开发。而且由于已经有了很长世间的积淀,稳定性和软件库的完备性方面也要比官方的要好。这个项目就是Mono。这篇文章就是介绍Mono在Ubuntu下的具体安装和使用。
Mono 的安装
以下的例子都是以Ubuntu 14.04 为例, 你可能需要根据自己的系统进行调整。
进入 Mono 官方的安装介绍页面
按照网页中的指示,在终端中输入以下内容sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list sudo apt-get update
等待更新完成后输入
sudo apt-get install mono-complete
这样Mono环境就安装完成了, 如果你只需要一个C#的编译和运行环境,那么到这里就足够了。
安装IDE
mono提供了一个非常好的IDE开发环境。sudo apt-get install monodevelop
IDE的使用
当IDE安装完成之后再Ubuntu的Dash里面就可以打开IDE了,如下图所示。
打开IDE后界面如下,使用方法基本和Visual Studio 是一样的。
需要注意的是Windows下的dll和Linux下的dll是不通用的,如果直接在Linux下打开Windows的项目需要重新添加dll的依赖。甚至有时还要重新创建项目才能使用。不过用Mono Develop创建的项目Visual Studio 是可以正常打开的。下面以一个HelloWorld例子来展示基本的使用方法, 在File-> New Solution 里面创建新的Console Application。如下图所示
如果想要添加dll依赖可以右键点击Refererces, 然后点击edit
在弹出的对话框里面选择对应的dll
如果想要添加NuGet软件包可以右键点击Packages, 然后选择Add
在弹出的对话框中选择你需要的软件包。
项目编辑完成之后按F5就可以直接执行了
项目的编译
在安装了Mono Develop的情况下,可以直接利用IDE进行编译。但是如果没有装IDE那么就需要以下的指令进行编译。
首先需要用NuGet自动安装项目的依赖软件包。在项目的根目录下执行以下指令。在执行前确认你已经下载了NuGet.exe文件。如果没有下载可以在这里下载。如果执行过程中出现证书错误等等,这是由于mono的版本比较低的原因。按照以上方法安装的话应该是没有这个问题的。
mono Nuget.exe restore
然后执行以下指令进行编译
xbuild /p:Configuration=“Debug POSIX”
其中Debug POSIX是 编译的设置。如果想要编译Release版本的就可以写
xbuild /p:Configuration="Release"
运行效率
我没有做过具体的Benchmark,但就自己的使用而言我觉得Linux下的C#并没有明显的效率下降,CPU和内存的使用率也并不高(相同程序的比较)。个人也非常推荐用C#进行跨平台开发。