从源代码编译安装 MonoDevelop 记录
时间:2022-07-23
本文章向大家介绍从源代码编译安装 MonoDevelop 记录,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
从源代码编译安装 MonoDevelop 记录
Xamarin 官方源里面的 MonoDevelop 版本是 5.10 ,与官方发布的 Xamarin Studio 6.1 相比, 很多新特性不支持, 主要包括:
- 对 C# 6 语法支持的不够完善;
- 不支持 NUnit 3;
- 不支持 roslyn 编译器;
搜遍了官方的源, 包括 alpha 、 nightly 、 ci 通道, 都找不到编译好的 MonoDevelop 包, 在 launchpad 上也找不到第三方的 ppa 源, 看来只能自己动手编译 MonoDevelop 了。
如果还没有安装 Mono , 则需要添加 Xamarin 的 apt 源, 代码如下:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
sudo apt-get update
Xamarin 官方源提供的 Mono 已经很新了, 而且更新也很及时, 没必要从源代码编译。
添加必须的编译工具以及本地类库
sudo apt install git-core autoconf automake cmake libtool libssh2-1-dev zlib1g-dev
安装 Mono 以及编译 MonoDevelop 的需要用到的依赖项
sudo apt install mono-devel referenceassemblies-pcl fsharp gnome-sharp2 libglade2.0-cil-dev monodoc-base
克隆 MonoDevelop
的源代码 这一步可能需要很长的时间, 小水管的要沉得住气才行。
git clone -b cycle8-GM https://github.com/mono/monodevelop.git monodevelop
git submodule update --init --recursive
建议不要直接克隆
master
分支, 而是克隆release
标签下已经归档的分支, 因为master
分支上的可能会编译出错。
配置下载好的源代码, 准备编译
./configure --profile=stable
这一步可能会弹出缺少什么的错误, 不过没关系, 通过
apt search
命令可以找到, 然后执行apt install
安装就行了。
配置成功的截图如下:
看到类似这样的截图之后, 就可以继续了, 否则还得继续检查需要的库。 然后编译运行, 首次运行需要下载很多 nuget 包, 同样需要很长时间。
make run
如果网络不好的话, make 可能会出错, 重试几次。
编译成功之后, 运行截图如下:
试运行几次, 没有错误就可以直接安装了。
sudo make install
- Rafy 框架 - 为数据库生成注释
- CNN预测股票走势基于Tensorflow(思路+程序)
- 路径查找器AI
- android推荐使用dialogFrament而不是alertDialog
- 自定义圆角和园边的实现
- Rafy 中的 Linq 查询支持(根据聚合子条件查询聚合父)
- 应用潜在语义分析技术将文档进行3D可视化
- 利用神经网络算法的C#手写数字识别
- fastText、TextCNN、TextRNN…这套NLP文本分类深度学习方法库供你选择
- nfc开发
- N-CryptoAsset投资组合 | 使用PCA识别高度相关的加密货币(最近听说某币很疯狂哦!)
- 仿刮刮乐刮奖效果
- Spacebuilder在Mono上运行修改备忘
- maven配置详解
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法