用mono构造最精简的.net运行环境
来源:互联网 发布:中国乐队那么少 知乎 编辑:程序博客网 时间:2024/05/20 00:11
本文的目的是使用mono构造一个最小的.net运行环境。
构造一个最小.net环境的好处何在?
第一,可以在没有.net运行库的机器上发布.net程序。
第二,研究最小.net环境,可以将.net用于一些嵌入式操作系统。提高开发效率。
尝试的过程,就不描述了。直接发布结果。
1.最基本的文件依赖
bin/mono.exe
bin/mono-20.dll
lib/mono/2.0/mscorlib.dll
这三个文件是最基本的。只要有这三个文件,就可以运行控制台下的helloWorld。
可以访问基本的IO。
2.网络程序的依赖
lib/mono/gac/System/2.0.0.0__b77a5c561934e089/System.dll
lib/mono/gac/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
lib/mono/gac/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
有这三个文件再加上基本的依赖(共6个文件),就可以使用TcpClient和Socket类。
3.Winform程序的基本依赖
lib/mono/gac/System/2.0.0.0__b77a5c561934e089/System.dll
lib/mono/gac/Mono.Posix/2.0.0.0__0738eb9f132ed756/Mono.Posix.dll
lib/mono/gac/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
lib/mono/gac/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
lib/mono/gac/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
有这五个文件,加上基本的的三个文件,就可以运行基本的Winform程序
如果使用了其他的类,少什么文件就加什么文件就行了。
只要找到上面的文件列表中的文件,在保持原有的目录结构的前提下,把发布的目录拷贝,然后在bin目录下执行mono appname.exe就可以运行程序了。
类似2.0.0.0__b77a5c561934e089这样的目录,实际上是这个dll的版本号。这个与mono的版本有关。在不同的版本中不一样。但是前面的目录是一样的。比如System的目录下,一定有System.dll文件,可能不止一个,我们只需要2.0.0.0开头的目录下的文件。
Linux:
1.基本
usr/bin/mono.exe
usr/lib/mono/2.0/mscorlib.dll
这两个文件就可以搞定helloworld.
2.网络(与windows上相同)
usr/lib/mono/gac/System/2.0.0.0__b77a5c561934e089/System.dll
usr/lib/mono/gac/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
usr/lib/mono/gac/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
3.winform(尚未成功,有一个文件还没有搞定)
- 用mono构造最精简的.net运行环境
- Mono-跨平台的.NET运行环境
- 跨平台的.NET运行环境 Mono
- 跨平台的.NET运行环境 Mono
- 跨平台的.NET运行环境Mono 2.6版发布
- 跨平台的.NET运行环境Mono 2.10发布
- 跨平台的 .NET 运行环境 Mono 3.2 新特性
- 在Ubuntu操作系统上安装mono和jexus搭建.NET的运行环境
- 在Ubuntu操作系统上安装mono和jexus搭建.NET的运行环境
- 在Ubuntu操作系统上安装mono和jexus搭建.NET的运行环境
- CentOS Linux上使用Apache/mono搭建.NET运行环境
- Linux 安装Mono环境 运行ASP.NET(一)
- Linux 安装Mono环境 运行ASP.NET(二)
- CentOS 或 Fedora 下自动化安装mono和jexus的脚本(Linux下的Asp.net运行环境配置)
- CentOS 配置mono运行环境
- 使用Mono打造轻量级的.NET程序运行时
- Discuz 与 DEDECMS 最精简需要运行的东西
- 最简单的MONO程序
- 谢谢各位好友
- CSS测试题
- 修改Flex请求数据时等待鼠标的图标
- MAPXTREME开发资料大全!
- priintf为什么能写到屏幕上文字呢?
- 用mono构造最精简的.net运行环境
- C#中修改Dll文件 (反编译后重新编译)
- 常量字符串存储与销毁引发的误解
- 自绘的子控件,在窗口被遮挡后不复原 解决办法
- JAVA 跨机器文件复制的二种方法
- C预编译宏
- 模型驱动架构(MDA,Model Driven Architecture)浅述
- 什么是 N层结构
- Hello World