运行.NET 2.0应用程序适用于Windows。

我正在尝试在Ubuntu 11.10上运行Windows应用程序。
我已经尝试过。
wine /path/to/file.exe

错误信息为:

wine: Install Mono for Windows to run .NET 2.0 applications.

我得了单核病毒(似乎不是Windows的Mono)

mono /path/to/file.exe

给我一个错误:
The assembly mscorlib.dll was not found or could not be loaded.
It should have been installed in the `/usr/lib/mono/2.0/mscorlib.dll' directory.

我需要做什么?
4个回答

我在12.04版本上遇到了类似的问题,这是我采取的解决方法:
sudo apt-get install mono-complete

然后

mono /path/to/file.exe

就这样!

尝试在Windows上安装Mono,或者使用Winetricks尝试在Windows上安装.NET。在命令行中尝试执行以下命令:
winetricks dotnet20

winetricks mono28

2出现了这个错误: fixme:advapi:DecryptFileA "C:\\users\\yasin\\Temp\\IXP000.TMP\\" 00000000 fixme:advapi:LsaOpenPolicy ((null),0x33f31c,0x00000001,0x33f344) stub fixme:advapi:LsaClose (0xcafe) stub fixme:storage:create_storagefile 存储共享模式未实现。 err:seh:raise_exception 未处理的异常代码 c0000005 标志 0 地址 0x451d7c @Andrei:谁在乎你想要什么?OP想要葡萄酒。 - m0skit0
通过删除~/.wine目录来修复上述错误。 - m0skit0
1错误:无法在64位操作系统上安装。 - user457015
1我找到了解决我64位问题的方法,准备将其写成一个答案,但是这个问题是受保护的... - user457015
此产品不支持 64 位操作系统。 - Cerin

在我的情况下,我发现安装mono-complete并不能让我的应用程序(CloudBerry Explorer)正常运行,因为它在通过Mono运行时无法正确找到所需的配置文件。
我正在运行一个x64系统,而.NET 2.0无法安装在上面(参见http://appdb.winehq.org/objectManager.php?sClass=version&iId=3754),所以我发现我必须删除我的wine目录,并执行以下操作:
export WINEARCH="win32"
winetricks dotnet20

(或者,您可以为具有win32架构的应用程序设置不同的WINEPREFIX,但我没有这种环境分离的需求,并且清除之前的设置是完全可接受的。)
此时,我想运行winetricks mono28,但winetricks尚未更新以适应Novell从其镜像中删除该文件(请参见http://code.google.com/p/winetricks/issues/detail?id=221)。我使用了票务中提出的解决方案:
wget http://download.mono-project.com/archive/2.8/windows-installer/9/mono-2.8-gtksharp-2.12.10-win32-9.exe
wine mono-2.8-gtksharp-2.12.10-win32-9.exe

(这个下载大约花了30分钟,因为mono-project.com的服务器没有Novell那样的性能,可惜...)它允许我想要使用的应用程序运行(虽然有一些问题,但我认为这更多是关于Wine支持而不是.NET支持)。

1哇,两年过去了,winetricks还是没有更新。winetricks被放弃了吗? - Cerin

通过apt可以安装Mono for Wine。
sudo apt-get install wine-mono4.5.6\*

提供MS .NET兼容性兼容层。
有关详细信息,请参阅Wine上的Mono页面。