当前位置:首页 » 编程软件 » mono编译cs

mono编译cs

发布时间: 2022-08-01 05:23:28

1. 在ubuntu下mono编译一个github上的C#项目出现CS0518的错误 提示没有.NET4 runtime

mono能支持的.net库是有限的,比如反射就只有很有限的支持
所以win下面能开发编译运行的.net代码在mono下不一定可以编译通过

2. 如何在linux系统中编译安装Mono笔记

Mono声称支持Linux、Solaris、Free BSD和MS Windows;除了Intel x86系列的CPU(486,各类Pentium等)之外,据说还要支持Sparc、PowerPC和StrongArm处理器。 下面就来看看如何在Linux上运行Mono。
命令行应用
下载软件,执行下面的命令安装所有RPM:rpm -ivh *.rpm
安装完成后,所有基本的动态执行库,包括System.Data.dll、System.dll、System.Drawing.dll、System.Web.dll和System.Xml.dll都被复制到/usr/lib下。接下来,在Linux文本编辑器中输入下面的内容,把文件保存为HelloMono.cs:
class HelloMono
{
public static void Main(string[ ] args)
{ System.Console.WriteLine("Hello Mono");
}
}
执行下面的命令编译C#文件:
mcs HelloMono.cs
mcs是Mono的C#命令行编译器。与MS .NET SDK的csc编译器相似,mcs也有很多命令行选项
。上面的命令将生成可执行文件HelloMono.exe。注意这个执行文件不是Linux执行文件,
而是一个.NET执行文件,或者说,这个文件的可执行代码形式是中间语言(IL,Intermed
iate Language)。要运行这个执行文件,必须执行如下命令:
mono HelloMono.exe
Linux控制台上将显示出"Hello Mono"。关于mcs和Mono的更多说明,请执行man mcs或man
mono参考其man文档。

3. mono的语言

公共语言基础(Common Language Infrastructure,CLI),又叫公共语言运行时(Common Language Runtime),已由Mono实现。该运行时用于执行已编译的.NET应用程序。公共语言基础已被ECMA定义为标准ECMA-335。要运行一个.NET应用程序,你必须使用相应的参数调用运行时。
在ECMA-335的第六章详细说明了公共语言规范(Common Language Specification,CLS)并定义了提供给公共语言基础的接口,例如对于枚举类型的隐含表示类型的协定。 Mono的编译器负责生成符合公共语言规范的映射代码,即公共中间语言(Common Intermediate Language,CIL)。 Mono的运行时将运行这类代码。 ECMA标准先前还定义了一个符合公共语言规范的程序库作为应用框架。

4. mono for windows编译出来的C#程序能否脱离.net运行

mono编译出来的不是可以脱离.NET的程序,而是把需要用到的.NET框架打包到EXE内。从发布上来说是方便,但运行效率上还不如已经装在机器上的.NET框架高。.NET会有常驻内存和在程序首次运行时本地编译提高程序第二次启动的时间,这些机制mono估计都没有。

5. 最近开始接触C#,遇到mono使用问题

我下载了很多rpm文件,然后使用命令安装了。我看资料说默认安装的mono是在usr/local/lib下面但是我没有看到
但是我可以使用mono命令,而已。在linux建立一个简单控制台程序输出一个hello world。是成功
然后我就是开始把我windows上的一个很简单winform运行到linux。但是一直报错:大概是这样的,类型初始化错误,加载dll的时候错误,是那个gdi

6. 你好,我看到你回答别人的关于Mono 的问题找到你的,我想问个问题:安装后没有mono编译的选项,怎样用mono

参考答案: 清水出芙蓉,天然去雕饰。

7. 我在Windows的.NET Framework上写了一个项目,现在通过Mono移植到Linux上,无法运行

可以。
来自作者:仙人掌工作室
众所周知,C#是Microsoft推出的.NET语言,只能在.NET平台上运行,例如Win 9x、ME、N
T、2000、XP和Win CE之类的操作系统。但是,现在却有了一个叫做Mono的项目,它的目标
就是把.NET及其编程语言移植到非Windows的平台上。现在,C#是唯一被移植到非Windows
平台的.NET语言。
在任何一个平台(操作系统+硬件体系)上,编写和运行程序的三个最根本的需求是库、编
译器/解释器、运行环境。库以类和方法(函数)的形式提供常用的例程,简化大型程序的
编写。.NET框架也不例外,包含了许多类库。另外,把程序转换成可执行形式以及运行执
行文件时,编译器和运行环境是必不可少的。Mono软件包包含了.NET类库的一部分、一个
C#编译器和.NET运行环境CLR(Common Language Runtime,公共语言运行时环境)。
Mono声称支持Linux、Solaris、Free BSD和MS Windows;除了Intel x86系列的CPU(486,
各类Pentium等)之外,据说还要支持Sparc、PowerPC和StrongArm处理器。
下面就来看看如何在Linux上运行Mono。
命令行应用
先从Mono主页()下载软件,执行下面的命令安装所有RPM:
rpm -ivh *.rpm
安装完成后,所有基本的动态执行库,包括System.Data.dll、System.dll、System.Draw
ing.dll、System.Web.dll和System.Xml.dll都被复制到/usr/lib下。接下来,在Linux文
本编辑器中输入下面的内容,把文件保存为HelloMono.cs:
class HelloMono
{
public static void Main(string[ ] args)
{ System.Console.WriteLine( "Hello Mono ");
}
}
执行下面的命令编译C#文件:
mcs HelloMono.cs
mcs是Mono的C#命令行编译器。与MS .NET SDK的csc编译器相似,mcs也有很多命令行选项
。上面的命令将生成可执行文件HelloMono.exe。注意这个执行文件不是Linux执行文件,
而是一个.NET执行文件,或者说,这个文件的可执行代码形式是中间语言(IL,Intermed
iate Language)。要运行这个执行文件,必须执行如下命令:
mono HelloMono.exe
Linux控制台上将显示出 "Hello Mono "。关于mcs和Mono的更多说明,请执行man mcs或man
mono参考其man文档。
GUI应用
Mono不支持Windows Forms,但在C#编程中可用GTK #编写GUI。GTK #是GTK+图形库的C#支
持工具,可从下载。下载完成后,先要安装RPM:
rpm -Uvh *.rpm --nodeps
解开gtk-sharp-0.2.1.tar.gz:
tar -zxvf gtk-sharp-0.2.1.tar.gz
进入子目录gtk-sharp-0.2.1,执行:
./configure --prefix=/usr
make
make install
完成这一步骤之后,重新启动一次。与GTK#有关的所有动态代码模块(gtk-sharp.dll、a
tk-sharp.dll、gdk-sharp.dll、glib-sharp.dll以及pango-sharp.dll)都会被复制到/u
sr/lib目录,编译用GTK#制作GUI的C#程序时,必须通过-r参数引用它们。GTK#下载包中包
含了几个示例程序,如HelloWorld.cs、Menu.cs、ButtonApp.cs等。编译这些文件的命令
如下:
mcs -r gtk-sharp -r glib-sharp HelloWorld.cs
mcs -r gtk-sharp -r glib-sharp -r System.Drawing Menu.cs
mcs -r gtk-sharp -r glib-sharp -r System.Drawing ButtonApp.cs
下面来看看如何通过-r选项引用前面各个.dll动态模块。执行startx命令启动X Window,
进入终端窗口,再进入示例程序所在目录,执行下面的命令分别运行各个程序:
mono HelloWorld.exe
mono Menu.exe
mono ButtonApp.exe
Mono项目还在完善和发展之中,还没有移植好全部.NET类。但不管怎样,它对许多人来说
将是一个好消息。有关Mono C#类库移植进展的信息,请访问
tus.html。
考虑一个典型的服务器/客户机式.NET应用:最终用户只与客户端打交道,客户端最好是方
便的GUI应用,许多人还会希望使用熟悉的Windows平台。但是,对于他们来说,服务器端
使用Windows还是Linux完全无关。所以,服务器端可以用带有Mono的Linux构造,节省了配
备专用Windows服务器的投资。Mono也将为应用迁移带来方便。如果Mono能够顺利发展,W
indows开发者也将能够为Linux或其他非Windows平台开发应用。如果这样的话,不久之后
出现一个类似Visual Studio .NET但免费或廉价的Linux开发IDE也说不定。
然而,所有这一切是否能够成为现实,依赖于Mono是否能够茁壮发展,也依赖于Mono与Wi
ndows平台上的.NET框架兼容或相似程度。另外一些因素也很关键,例如Mono的性能、GUI
的友好程度等。
差不多的东西其实就是我讲出来的,你仔细看下哈。正确的

8. 我用MONO加载C#程序,其中导入了一个控件,然后编译就出现了错误 com/Activex is not implemented

的EXE里面还是ML
所以只要目标机有mono或.NET就可以运行,如果什么都没有一样不能运行。
mono的效率应该不如.NET,而且相比缺乏一些功能。

9. C#的主要编译工具是什么

LZ问的是编译器,很多人都在回答用什么IDE = =
VS系列的是使用csc.exe
mono的编译器是gmcs.exe
另外linux下面是可以的,monodevelop就可以,只不过你说拿VS开发的程序集直接用mono编译我不保证可以

10. 如何在Linux上运行Mono

先从Mono主页 )下载软件,执行下面的命令安装所有RPM:
rpm -ivh *.rpm

安装完成后,所有基本的动态执行库,包括System.Data.dll、System.dll、System.Draw
ing.dll、System.Web.dll和System.Xml.dll都被复制到/usr/lib下。接下来,在Linux文
本编辑器中输入下面的内容,把文件保存为HelloMono.cs:

class HelloMono
{
public static void Main(string[ ] args)
{ System.Console.WriteLine("Hello Mono");
}
}

执行下面的命令编译C#文件:
mcs HelloMono.cs

mcs是Mono的C#命令行编译器。与MS .NET SDK的csc编译器相似,mcs也有很多命令行选项
。上面的命令将生成可执行文件HelloMono.exe。注意这个执行文件不是Linux执行文件,
而是一个.NET执行文件,或者说,这个文件的可执行代码形式是中间语言(IL,Intermed
iate Language)。要运行这个执行文件,必须执行如下命令:

mono HelloMono.exe

Linux控制台上将显示出"Hello Mono"。关于mcs和Mono的更多说明,请执行man mcs或man
mono参考其man文档。

GUI应用

Mono不支持Windows Forms,但在C#编程中可用GTK #编写GUI。GTK #是GTK+图形库的C#支持工具。下载完成后,先要安装RPM:

rpm -Uvh *.rpm --nodeps
解开gtk-sharp-0.2.1.tar.gz:
tar -zxvf gtk-sharp-0.2.1.tar.gz
进入子目录gtk-sharp-0.2.1,执行:
./configure --prefix=/usr
make
make install

完成这一步骤之后,重新启动一次。与GTK#有关的所有动态代码模块(gtk-sharp.dll、a
tk-sharp.dll、gdk-sharp.dll、glib-sharp.dll以及pango-sharp.dll)都会被复制到/u
sr/lib目录,编译用GTK#制作GUI的C#程序时,必须通过-r参数引用它们。GTK#下载包中包
含了几个示例程序,如HelloWorld.cs、Menu.cs、ButtonApp.cs等。编译这些文件的命令
如下:

mcs -r gtk-sharp -r glib-sharp HelloWorld.cs
mcs -r gtk-sharp -r glib-sharp -r System.Drawing Menu.cs
mcs -r gtk-sharp -r glib-sharp -r System.Drawing ButtonApp.cs

下面来看看如何通过-r选项引用前面各个.dll动态模块。执行startx命令启动X Window,
进入终端窗口,再进入示例程序所在目录,执行下面的命令分别运行各个程序:

mono HelloWorld.exe
mono Menu.exe
mono ButtonApp.exe

Mono项目还在完善和发展之中,还没有移植好全部.NET类。但不管怎样,它对许多人来说
将是一个好消息。有关Mono C#类库移植进展的信息,请访问www.go-mono.com/class-sta
tus.html。

考虑一个典型的服务器/客户机式.NET应用:最终用户只与客户端打交道,客户端最好是方
便的GUI应用,许多人还会希望使用熟悉的Windows平台。但是,对于他们来说,服务器端
使用Windows还是Linux完全无关。所以,服务器端可以用带有Mono的Linux构造,节省了配
备专用Windows服务器的投资。Mono也将为应用迁移带来方便。如果Mono能够顺利发展,W
indows开发者也将能够为Linux或其他非Windows平台开发应用。如果这样的话,不久之后
出现一个类似Visual Studio .NET但免费或廉价的Linux开发IDE也说不定。

然而,所有这一切是否能够成为现实,依赖于Mono是否能够茁壮发展,也依赖于Mono与Wi
ndows平台上的.NET框架兼容或相似程度。另外一些因素也很关键,例如Mono的性能、GUI
的友好程度等。

热点内容
ftp用户权限设置linux 发布:2025-03-15 10:19:32 浏览:238
极光大数据库 发布:2025-03-15 10:11:48 浏览:582
智e付忘了登录密码在哪里修改 发布:2025-03-15 10:05:20 浏览:650
手机热点密码忘了怎么办 发布:2025-03-15 09:28:26 浏览:363
缓解压力锻炼方法 发布:2025-03-15 09:23:01 浏览:426
impdp存储过程 发布:2025-03-15 09:20:05 浏览:741
pythoniris 发布:2025-03-15 09:05:27 浏览:190
浪淘沙服务器怎么没有了 发布:2025-03-15 09:05:26 浏览:100
ftprpm安装包下载 发布:2025-03-15 09:03:53 浏览:723
如何判断背包配置 发布:2025-03-15 09:03:00 浏览:900