XBuild Engine Version 12.0
Mono, Version 3.2.8.0
我试图在XBuild中构建我的C#解决方案。它在Windows中构建得非常好,但在Ubuntu上却没有。我收到以下错误:
warning : Project has unknown ToolsVersion '14.0'. Using the default tools version '4.0' instead.
Target GetFrameworkPaths:
/usr/lib/mono/4.5/Microsoft.Common.targets: warning : TargetFrameworkVersion 'v4.5.2' not supported by this toolset (ToolsVersion: 4.0).
error CS0246: The type or namespace name 'RedditSharp' could not be found. Are you missing an assembly reference?
error CS0246: The type or namespace name `IReadOnlyCollection' could not be found. Are you missing an assembly reference?
和类似的。我已经将RedditSharp.dll添加到了GAC,所以我不知道它为什么找不到它,我当然不知道它为什么找不到IReadOnlyCollection。我怀疑它是因为我无法使用ToolsVersion 14.0。
有没有人知道在Linux上构建C#的事情?我做错了什么?
答案 0 :(得分:7)
14表示MSBuild 14,它是Visual Studio 2015的一部分。通常Mono xbuild仅支持最新的Visual Studio版本一段时间后。所以你要么等到它更新,要么如果你愿意的话就破解xbuild。
另一种解决方法是将您的项目转换为MSBuild版本12
答案 1 :(得分:5)
您面临两个不同的问题。
首先是有关ToolsVersion 14.0的警告,其次是错误抱怨4.5.2不受支持。
只需将目标框架更改为4.5,您的项目即可编译。 ToolsVersion警告仍然存在,但编译将成功完成。
我遇到了同样的问题。更改目标框架后,一切正常。
答案 2 :(得分:0)
我安装了Debian 8(Jessie)版本的Raspbian和Mono 5.0。
显然升级MonoDevelop无济于事。所以我去了包含.sln文件的文件夹,找到.csproj文件并修改了Toolsversion(它应该在文件的顶行),从“15.0”到“4.0”。这很有用。