ubuntu16.04 下 C# mono开发环境搭建
本文转自:https://www.cnblogs.com/2186009311CFF/p/9204031.html
前记
之前我一直不看好C#的前景,因为我认为它只能在windows下运行,不兼容,对于长远的开发有局限性,再者一直听说微软收费,在我的世界里,免费的才是长久的,所以我一直不喜欢C#,虽然我要靠它工作,我一直想着转行,所以我之前就学了java和linux方面的知识,最近找工作, 但是不想在自己的电脑上安装VS和sqlserver(因为太大了),于是想在虚拟机上装,无奈windows 10的镜像太大,说用U盘装,但是本人笔记本没有光驱,按F12、F2啥的都不进入bois模式,于是想起了在ubuntu看能否进行C#的开发,居然有,我也是很开心,以下是今天的探索。
1.文件下载
Ubuntu国内镜像:http://mirrors.aliyun.com/ubuntu-releases/16.04/
我下的是下面标记的这个

虚拟机:可以留言,也可自行百度
2.虚拟机上安装Ubuntu
(以下只有关键步骤记录,其余步骤也很容易,不是新手不百度也能应对,有问题可以留言探讨)


查看更新包读取的内容
vi /etc/apt/sources.list

Esc :q enter 退出
遇到的连不上网的问题解决
因笔记本是连WiFi的,装的虚拟机一直连不上网,我很郁闷,一直ping 不通,ifconfig也是下面的情况

后面通过设置无线共享和打开服务解决了

From 192.168.25.133 icmp_seq=238 Destination Host Unreachable 类似的报错,是要去开启服务

安装mono
先update,因为大部分没有这个包,就算用安装的语句也是提示没有包
update :sudo apt-get update
安装C#编译环境:sudo apt-get install mono-devel
下面是我更新后安装的报错:

后面用这个语句安装成功:sudo apt-get install mono-complete
查看mono版本 :mono --version

安装IDE获取更强大的功能 :sudo apt-get install monodevelop

用了一会,安装成功

打开C#环境
monodevelop
即可打开monodevelop IDE,值得注意的是,要区分大小写不是Monodevelop而是monodevelop

使用MONO










代码如下:
using System;
using Gtk; public partial class MainWindow: Gtk.Window
{
private Button btnOK;
public MainWindow () : base (Gtk.WindowType.Toplevel)
{
Initialize ();
Build ();
//Initialize ();not have button
} protected void OnDeleteEvent (object sender, DeleteEventArgs a)
{
Application.Quit ();
a.RetVal = true;
} protected void OnButton1Pressed (object sender, EventArgs e)
{
//throw new NotImplementedException ();
MessageDialog msgDlg = new MessageDialog (null, DialogFlags.Modal, MessageType.Info, ButtonsType.Ok, "{0}", "Hello World! ");
msgDlg.Show (); }
private void Initialize()
{
btnOK = new Button ("OK");
btnOK.Clicked += HandleBtnOKClicked;
this.Add (btnOK ); } protected void HandleBtnOKClicked (object sender, EventArgs e)
{
MessageDialog msgDlg = new MessageDialog (null, DialogFlags.Modal, MessageType.Info, ButtonsType.Ok, "{0}", "Hello World! ");
msgDlg.Show ();
}
}
运行结果如下:

设置占屏尺寸
xrandr -s 1280*1024

参考原理说明:https://blog.csdn.net/xiaohui_hubei/article/details/12658285
参考安装指令说明:https://blog.csdn.net/PPXFMiao/article/details/77774362 https://blog.csdn.net/u012581999/article/details/52437896
战略指引:http://www.xuebuyuan.com/143374.html
ubuntu16.04 下 C# mono开发环境搭建的更多相关文章
- Ubuntu16.04下部署golang开发环境
一.需要文件 golang http://www.golangtc.com/download liteide http://www.golangtc.com/download/liteide 二.安装 ...
- 转 Ubuntu16.04+QT4.8.7开发环境搭建
Qt安装步骤1.安装g++以及依赖库 sudo apt-get install g++ sudo apt-get install g++-multilib libx11-dev libxext-de ...
- OK335xS Ubuntu 12.04.1 版本 Android 开发环境搭建
/******************************************************************************************** * OK33 ...
- [转]MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题)
MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题) 网上有一篇shangdong_chu网友写的文章介绍如何在Eclipse上配置M ...
- 转:Windows下的PHP开发环境搭建——PHP线程安全与非线程安全、Apache版本选择,及详解五种运行模式。
原文来自于:http://www.ituring.com.cn/article/128439 Windows下的PHP开发环境搭建——PHP线程安全与非线程安全.Apache版本选择,及详解五种运行模 ...
- windows下vue.js开发环境搭建教程
这篇文章主要为大家详细介绍了windows下vue.js开发环境搭建教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 最近,vue.js越来越火.在这样的大浪潮下,我也开始进入vue的学习行列中 ...
- Sublime Text 3下C/C++开发环境搭建
Sublime Text 3下C/C++开发环境搭建 之前在Linux Mint 17一周使用体验中简单介绍过Sublime Text. 1.Sublime Text 3安装 Ubuntu.Linux ...
- 阿里云ACE下的PHP开发环境搭建
阿里云ACE下的PHP开发环境搭建 本系列文章由ex_net(张建波)编写.转载请注明出处. http://blog.csdn.net/ex_net/article/details/23999053 ...
- Windows下C,C++开发环境搭建指南
Windows下C,C++开发环境搭建指南 前情提要 基于近一段时间很多网友发邮件反馈,说一些项目编译出现问题,诸如此类的情况. 就觉得很有必要写一篇C,C++开发环境的小指南,统一回复. 1.君欲善 ...
随机推荐
- 正则表达式——Unicode 匹配规则
一般来说,数字字符解释[0-9],单词字符就是[0-9a-zA-Z_],空白字符则包括空格.回车等字符,但这是 ASCII 编码中的情况,在 Unicode 编码中并非如此. 因为包括了多种语 ...
- Python --链接MYSQL数据库与简单操作 含SSH链接
项目是软硬件结合,在缺少设备的情况,需要通过接口来模拟实现与设备的交互,其中就需要通过从数据库读取商品的ID信息 出于安全考虑 现在很多数据库都不允许通过直接访问,大多数是通过SSH SSH : 数 ...
- GCC 环境变量 & eclipse CDT 头文件配置
转:http://blog.csdn.net/statdm/article/details/7751000 GCC 环境变量 & eclipse CDT 头文件配置 在unix 下使用e ...
- 【Linux开发】【Qt开发】配置tslibs触摸屏库环境设置调试对应的设备挂载点
[Linux开发][Qt开发]配置tslibs触摸屏库环境设置调试对应的设备挂载点 标签(空格分隔): [Linux开发] [Qt开发] 比如: cat /dev/input/mice cat /de ...
- call 和 apply的定义和区别?
1.方法定义 call方法: 语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象. 说明: call ...
- Mongodb-简单部署
一.MongoDB是一款NoSql数据库 二.部署单实例MongoDB 1.安装环境: (1)系统:Centos7.2 (2)MongoDB:Percona的MongoDB3.4 2.配置yum源 p ...
- swagger @ApiModel添加实体类不生效
在使用swagger时, 以为加上@ApiModel在实体类上就可以在swagger-ui.html的Models里面显示. 但是我创建了很多实体类, 但怎么也只显示了一个??? Models中无论如 ...
- Julia出现错误ERROR: LoadError: syntax: try without catch or finally
因项目要求进行机器学习数据可视化,要求尝试使用Julia,在此,记录下遇到的坑,仅为记录效果.后续陆续更新. 问题一:关于LightML库中的坑:ERROR: LoadError: syntax: t ...
- net 架构师-数据库-sql server-001-SQL Server中的对象
1.1 数据库的构成 1.2 数据库对象概述 1.2.1 数据库对象 RDBMS 关系数据库管理系统 对象:数据库.索引.事务日志.CLR程序集.表 .报表.文件组.全文目录.图表.用户自定义数据类型 ...
- 取(2堆)石子游戏 HDU 2177 博弈论
取(2堆)石子游戏 HDU 2177 博弈论 题意 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子:二是可以在两堆中 ...