最近开始看关于.NET跨平台方面的资料,从网上了解到的信息, 主要的软件开发平台是Mono和.NET Core,计划先从Mono开始了解,目的是看看之前开发的部分功能是否可以正常的移植到Linux平台下面。
关于Mono的详细介绍可以参考 百度百科 。Mono是一个开源软件平台,由Microsoft赞助,它允许开发人员轻松地创建基于.NET的跨平台应用程序。Mono的网址是 https://www.mono-project.com/ ,其源码放在github上面,地址为 https://github.com/mono/mono。

安装Mono

Mono针对不同的操作系统有不同的安装文件和安装方式,如下图所示: 在这里插入图片描述
为了测试.NET跨平台功能,我准备了Ununtu18.04版本的Linux系统,下面就是根据Mono网站中的安装步骤进行安装。
首先是将Mono库加入到操作系统中,该命令在Mono网站中有,可以直接复制到操作系统的命令行中。这步安装时需要输入root密码!
在这里插入图片描述
第二步是安装Mono包,在这步中安装中给出了多种安装命令,可以根据需要选择安装不同的包,由于是第一次安装,就选择了网站给的安装说明中的命令,其它命令可以在
网站的安装说明 中找到。在进行这步操作时,一开始安装就报了一个“Could not get lock /var.lib/dpkg/lock ”的错误,通过百度解决方法,最终采用文章《 ubuntu 解决“无法获得锁 /var/lib/dpkg/lock -open (11:资源暂时不可用)”的方法 》中的方法解决了问题,得以继续安装。
安装第二步时报错
第二步安装完毕
最后是验证Mono是否正常安装,根据网站中的安装要求,在操作系统中创建了一个用C#语言编写的HelloWorld控制行代码,然后再命令行中编译运行。结果是程序可以正常编译和运行,也即Mono安装成功。
在这里插入图片描述

安装MonoDevelop

MonoDevelop是一个编写C#、, F#等代码的跨平台IDE工具,它让开发者快速的开发 Linux、Windows和macOS上的桌面、网页程序,还可以轻松将 Visual Studio创建的程序移植到Linux和macOS上。MnoDevelop的网址是https://www.monodevelop.com/。
在这里插入图片描述
MonoDevelop也是不同的操作系统安装方式不同,根据MonoDevelop网站中的介绍,MonoDevelop再Ubuntu18.04上的安装分为三步:
首先是将Mono库加入到操作系统中,该命令在MonoDevelop网站中有,可以直接复制到操作系统的命令行中。这步安装时需要输入root密码!
在这里插入图片描述
第二步是安装MonoDevelop IDE
在这里插入图片描述
最后是验证MonoDevelop安装是否正确,根据网站中的说明,在MonoDevelop中创建一个HelloWorld的项目进行测试。
在Ubuntu中打开MonoDevelop
在这里插入图片描述
在MonoDevelop中创建一个控制台项目
在这里插入图片描述
指定控制台项目的名称和存放位置
在这里插入图片描述
在项目中敲入HelloWorld代码并运行,如下图所示,程序可以正常在MonoDevelop中编译运行,说明MonoDevelop正确安装。
在这里插入图片描述

后续计划会对使用Mono进行WinForm、GDI+、WebService等进行学习和测试,顺便学习和翻译Mono网站中的说明文档 https://www.mono-project.com/docs/。

最近开始看关于.NET跨平台方面的资料,从网上了解到的信息,主要的软件开发平台是Mono和.NET Core,计划先从Mono开始了解,目的是看看之前开发的部分功能是否可以正常的移植到Linux平台下面。
MonoDevelop 是使用Gtk#的 Mono 的全功能集成开发环境(IDE)。 MonoDevelop 核心还是Visual Studio for Mac的基础。 也可以在此处随意针对Visual Studio for Mac提交错误。 有关更多信息,请参见 。 有两个主要目录: main :核心 MonoDevelop 程序集和附加程序(全部在单个tarball /程序包中)。 extras :附加加载项(每个加载项都有其自己的tarball /程序包)。 如果您是从Git构建的,请确保通过执行以下操作初始化此存储库中的git submodule update --ini
笔记一:树莓派4B 安装 mono 环境运行C#程序 下面主要记录如何在树莓派上运行C#开发的winform窗体程序。 对于已经 安装 好Raspbian系统的树莓派,通电开机后打开命令行窗口并输入一下命令: 1.sudo apt install apt-transport-https dirmngr gnupg ca-certificates 2.sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BF
1.sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF 2.sudo apt install apt-transport-https ca-certificates 3.echo “deb https://download.mo...
VINS Mono 是一种视觉惯性融合(VIO)算法,用于在低配或移动设备上进行自主导航和定位。它基于单目相机和惯性测量单元(IMU)的输入,利用优化技术获取无人机或机器人的位姿信息。VINS Mono 算法通过提取特征点、设置小扰动、初始化状态等步骤来实现位姿优化。 与传统的VSLAM算法相比,VINS Mono 在建图、重定位、可拓展性等方面有很好的性能表现。它可以处理尺度恢复问题、连续动态场景、匀速运动等,适合于室内、室外等多种环境。 VINS Mono 的代码开源,可在GitHub上获取。它使用C ++编写,包括十个主要文件,分别处理相机、IMU和优化等不同模块。VINS Mono 不需要额外的标定步骤,可以直接进行导航和定位。同时,它还提供了多种API和ROS接口,可以快速应用于各类机器人和无人机系统中。 总之,VINS Mono 是一种轻量级的VIO算法,能够在低配设备上高效实现自主导航和定位。其代码简洁、易用、灵活,为机器人和无人机领域带来了重要的创新。