首先,我见过这个问题,虽然问题看起来相似,但其实并不相同。
我正在运行一个精简的单声道,没有使用 4.5 配置文件构建./configure --with-profile4=yes --with-profile4_5=no
.
我有一个针对 .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
当与我修剪过的单声道运行时):
warning CS1685: The predefined type `System.Runtime.CompilerServices.ExtensionAttribute' is defined multiple times.
Using definition from `mscorlib.dll'
我也不确定这是否相关,但构建机器确实安装了 .NET 4.5。
我想通了 - 我需要将 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:.
所以我需要告诉它去哪里寻找库;我(错误地)假设这将根据单声道可执行文件的位置自动进行。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)