未找到或无法加载程序集mscorlib.dll

时间:2014-05-13 08:46:39

标签: .net mono mscorlib xbuild

首先,我看过this question,虽然问题看起来很相似,但不一样。

我正在使用./configure --with-profile4=yes --with-profile4_5=no运行修剪后的单声道,使用4.5个配置文件构建。

我有一个针对.NET 4.0的应用程序,使用mono xbuild构建。当我针对修剪下来的单声道安装运行它时,我收到此错误:

The assembly mscorlib.dll was not found or could not be loaded. It should have been installed in the `/opt/my-app/mono/lib/mono/4.5/mscorlib.dll' directory.

现在,我没有引用4.0装配 - 没有4.5,AFAICS。

为什么我会收到此错误?

我不确定它是否相关,但是在使用xbuild进行构建时会收到此警告(但在使用msbuild构建时却没有,但我仍然得到mscorlib.dll 1}}当我对着修剪过的单声道跑道时):

warning CS1685: The predefined type `System.Runtime.CompilerServices.ExtensionAttribute' is defined multiple times.
Using definition from `mscorlib.dll' 

我也不确定这是否相关,但构建机器确实安装了.NET 4.5。

1 个答案:

答案 0 :(得分:3)

我想通了 - 我需要将MONO_PATH设置为:

/opt/my-app/mono/lib/mono/4.0:/opt/my-app/mono/lib/mono/3.5:/opt/my-app/mono/lib/mono/2.0:.

所以我需要告诉它在哪里寻找图书馆;我(错误地)假设根据单声道可执行文件的位置自动进行。