41

我按照此处的指南在 OS X Mavericks 上编译了单声道:http ://www.mono-project.com/docs/compiling-mono/mac/

现在,当我使用 xbuild 编译我的应用程序时,出现以下错误:

CSC: error CS0518: The predefined type `System.Object' is not defined or imported
CSC: error CS0518: The predefined type `System.ValueType' is not defined or imported
CSC: error CS0518: The predefined type `System.Attribute' is not defined or imported
CSC: error CS0518: The predefined type `System.Int32' is not defined or imported
CSC: error CS0518: The predefined type `System.UInt32' is not defined or imported
CSC: error CS0518: The predefined type `System.Int64' is not defined or imported
CSC: error CS0518: The predefined type `System.UInt64' is not defined or imported
CSC: error CS0518: The predefined type `System.Single' is not defined or imported
CSC: error CS0518: The predefined type `System.Double' is not defined or imported
CSC: error CS0518: The predefined type `System.Char' is not defined or imported
CSC: error CS0518: The predefined type `System.Int16' is not defined or imported
CSC: error CS0518: The predefined type `System.Decimal' is not defined or imported
CSC: error CS0518: The predefined type `System.Boolean' is not defined or imported
CSC: error CS0518: The predefined type `System.SByte' is not defined or imported
CSC: error CS0518: The predefined type `System.Byte' is not defined or imported
CSC: error CS0518: The predefined type `System.UInt16' is not defined or imported
CSC: error CS0518: The predefined type `System.String' is not defined or imported
CSC: error CS0518: The predefined type `System.Enum' is not defined or imported
CSC: error CS0518: The predefined type `System.Delegate' is not defined or imported
CSC: error CS0518: The predefined type `System.MulticastDelegate' is not defined or imported
CSC: error CS0518: The predefined type `System.Void' is not defined or imported
CSC: error CS0518: The predefined type `System.Array' is not defined or imported
CSC: error CS0518: The predefined type `System.Type' is not defined or imported
CSC: error CS0518: The predefined type `System.Collections.IEnumerator' is not defined or imported
CSC: error CS0518: The predefined type `System.Collections.IEnumerable' is not defined or imported
CSC: error CS0518: The predefined type `System.IDisposable' is not defined or imported
CSC: error CS0518: The predefined type `System.IntPtr' is not defined or imported
CSC: error CS0518: The predefined type `System.UIntPtr' is not defined or imported
CSC: error CS0518: The predefined type `System.RuntimeFieldHandle' is not defined or imported
CSC: error CS0518: The predefined type `System.RuntimeTypeHandle' is not defined or imported
CSC: error CS0518: The predefined type `System.Exception' is not defined or imported

当我在 OS XI 上使用单声道安装程序时,从未收到任何这些错误。

(我正在构建单声道,因为我正在向未完成的 .NET 框架添加功能)

autogen.sh 运行结果:https ://gist.github.com/Geesu/149332f3f877c891d387 make 运行结果: https ://gist.github.com/Geesu/4296f7d4c6c368d6986d

4

9 回答 9

13

如果出现类似以下的警告:

/lib/mono/4.5/Microsoft.Common.targets:  warning : Unable to find framework corresponding to the target framework moniker '.NETFramework,Version=v2.0'. Framework assembly references will be resolved from the GAC, which might not be the intended behavior.

您可以在命令行上覆盖 .NET Framework:

xbuild /p:TargetFrameworkVersion="v4.0"

您可以更改解决方案:

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
于 2015-01-09T07:02:13.977 回答
8

我在 Debian 不稳定 (Sid) 上构建 YouCompleteMe / OmniSharpServer 时遇到了这个问题。发生的情况是安装的 mono 版本没有安装 v4.5.2 框架程序集,这是编译器在构建该解决方案/项目时默认使用的。

解决方法是将目标框架版本指定为您可用的版本,或者使目标版本可用(例如,在您的自定义编译期间)。

Cat Zimmermann 的回答很贴切。

于 2016-08-12T16:58:05.560 回答
3

我偶然发现了这个问题。重新运行 Mavericks 安装程序后,我忘记检查更新,并且 Mono 和 Xamarin.Android 都有可用的稳定频道更新。一旦我安装了它们,一切都构建得很好。

于 2014-12-30T12:31:13.930 回答
1

安装程序和家庭构建的区别在于安装程序“知道”库的位置,而编译的则不知道。因此,除非您在编译应用程序时指向该位置,否则您的问题将会发生(基本上没有找到系统 dll)。我建议查看mcs 文档,并指定路径。(编辑:使用“-L”参数应该这样做。)。

于 2014-12-30T22:00:21.523 回答
1

当我删除行时,我的项目开始编译

<NoStdLib>true</NoStdLib>
<NoConfig>true</NoConfig>

从中。

于 2015-10-17T02:43:14.907 回答
0

尝试删除该解决方案的所有项目中的 bin 和 obj 文件夹。

似乎这些文件夹中有一些旧版本的 Visual Studio 生成的旧文件,这些文件与新版本的 Visual Studio 不兼容。

于 2018-05-31T15:16:30.560 回答
0

我不知道如何从逻辑上支持这一点,但在尝试解决这个问题几个小时后,

Unload .net standards project

因为我没有得到确切的问题并决定

reload it again

繁荣......它工作......仍然不知道它背后的逻辑原因是什么。如果有人这样做,请在下面发表评论。

于 2018-02-24T14:15:34.760 回答
0

我有同样的问题。

我检查了我的目标框架路径:Properties>Aplication:Target Framework并将其设置为.Net Framework 4.7.

于 2021-10-01T07:45:50.993 回答
0

我通过将项目设置->常规->目标框架更改为 Mono/.NET 4.5 来解决此问题。

希望对你有效。

于 2018-09-04T07:45:29.487 回答