首页 > 解决方案 > linux 上的 Mono:找不到元数据文件“/mscorlib.dll”

问题描述

assembly not found在编译Spire 项目时遇到了很多错误,因此我按照此处所述dotnet build安装了包mono-complete并按照此处FrameworkPathOverride=/lib/mono/4.5的建议导出了变量覆盖框架路径解决了第一个assembly not found问题,但生成了新问题:

CSC : error CS0006: Metadata file '/mscorlib.dll' could not be found [blah-blah-blah.csproj]

该文件mscorelib.dll/usr/lib/mono/4.5/其中并且不是符号链接,但我不知道为什么它找不到那个。此外,如果我更改FrameworkPathOverride=/lib/mono/4.5为该FrameworkPathOverride=/usr/lib/mono/4.5错误消失并且这些错误出现:

Spire.cs(19,12): error CS0234: The type or namespace name 'Options' does not exist in the namespace 'Mono' (are you missing an assembly reference?) [Spire-master/Spire/Spire.csproj]
Synthesize.cs(17,17): error CS0234: The type or namespace name 'Z3' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?) [Spire-master/Spire/Spire.csproj]

我之前都安装过Z3Mono.Options所以没有这些不是问题。

顺便说一句,我使用 ubuntu 18.04。

我几乎没有使用 .NET 和 mono 的经验,因此非常感谢任何帮助。

谢谢。


编辑: 如果我运行build.sh脚本,我得到:

WARNING: Error: SecureChannelFailure (The authentication or decryption has failed.)
Unable to find version '5.3.0.1' of package 'Mono.Options'.
./build.sh: line 4: msbuild: command not found

标签: .netlinuxdllmono

解决方案


推荐阅读