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

标签 .net mono mscorlib xbuild

首先,我看到了this question ,虽然问题看起来很相似,但其实并不相同。

我正在运行一个精简的单声道,使用 ./configure --with-profile4=yes --with-profile4_5=no 在没有 4.5 配置文件的情况下构建。

我有一个以 .NET 4.0 为目标的应用程序,它是使用 mono 的 xbuild 构建的。当我针对精简后的单声道安装运行它时,出现此错误:

找不到或无法加载程序集 mscorlib.dll。 它应该已经安装在“/opt/my-app/mono/lib/mono/4.5/mscorlib.dll”目录中。

现在,我不只引用 4.0 程序集——AFAICS 4.5 中没有任何内容。

为什么我会收到此错误?

我不确定它是否相关,但我在使用 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 :.

所以我需要告诉它去哪里寻找库;我曾(错误地)假设这将根据 mono 可执行文件的位置自动进行。

关于.net - 未找到或无法加载程序集 mscorlib.dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23626577/

相关文章:

c# - String.Replace 问题的有效解决方案?

javascript - AJAX UpdatePanel 回发后滚动到 SharePoint Visual Web 部件上的位置

.net - 跨平台更改屏幕分辨率的方法

mono - 如何将 Homebrew 版本的 Mono 与 Xamarin 结合使用

c# - 对象类型是否包含 protected 虚拟 Finalize 方法?

c# - “目标帐户名称不正确”-DirectoryInfo.GetFiles 出现 IOException

php - JavaScript - 赋值 - 数组的数组

c# - 没有断点时调试器停止 VS2010

.net - 将 windows server 2008 替换为 linux for asp.net mvc 应用程序

arrays - 一次将数组添加到 ArrayList