首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用单声道运行.NET 4应用程序

使用单声道运行.NET 4应用程序
EN

Stack Overflow用户
提问于 2011-03-16 23:34:14
回答 4查看 30K关注 0票数 17

我试图在一台Ubuntu机器上运行一个.NET exe (我安装了mono-complete包),到目前为止还没有成功。该应用程序是在.NET 4(客户端配置文件)下使用Visual C# Express2010编译的。

我尝试使用以下命令执行该程序:

代码语言:javascript
复制
mono application.exe

但是,我得到以下错误:

警告:此应用程序支持的运行时版本不可用。使用默认运行时: v1.1.4322

** (application.exe:5586):警告**:在assembly /media/disk/application.exe引用的程序集中缺少方法System.Windows.Forms.Application::SetCompatibleTextRenderingDefault(bool)

未处理的异常:'System.Windows.Forms.Application.SetCompatibleTextRenderingDefault'.:未找到方法:System.MissingMethodException

它应该使用.NET 4,而不是1,但我不知道如何设置它。我试过了

代码语言:javascript
复制
mono --runtime=4.0.30319.1 application.exe

但这也不管用。

任何帮助都将不胜感激。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-03-16 23:39:19

听起来你遇到了这个bug:

My Doc's Got No Nodes: .net 4 Client Profile on Mono 2.8

这是假设你安装了>Mono2.8(它是第一个支持.NET 4.0的版本)。如果没有,你应该安装一个更新的Mono包。

另一件要记住的事情是,Mono并不支持整个WinForms。除非您在开发应用程序时考虑到了Mono,否则您很可能会发现您使用的某些应用程序不受支持。

票数 17
EN

Stack Overflow用户

发布于 2011-03-16 23:43:47

我怀疑异常是因为System.Windows.Forms.Application.SetCompatibleTextRenderingDefault方法还没有实现。您已经通过Mono Migration Analyzer (MoMA)运行过该工具,应该有助于了解您的应用程序是否与mono兼容。从这一点上说,你可以解决这个问题,甚至可以在你的代码中加入缺失的方法。

票数 3
EN

Stack Overflow用户

发布于 2011-03-16 23:51:56

当前的mono-complete包(甚至在Ubuntu Natty上)使用mono 2.6.7,它不支持.NET 4.0API。您必须构建最新版本的mono,这是获得使用4.0API的机会的最佳方式。然而,.NET 4.0的"Complete“支持计划在mono 3.0中提供。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5327672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档