C# mac上的Mono4.2尝试使用ToolVersion4.0构建项目
我正试图在mac环境下使用mono xbuild 4.2构建toolversion/TargetVersion 4.0项目。我使用以下命令:C# mac上的Mono4.2尝试使用ToolVersion4.0构建项目,c#,macos,c#-4.0,mono,xbuild,C#,Macos,C# 4.0,Mono,Xbuild,我正试图在mac环境下使用mono xbuild 4.2构建toolversion/TargetVersion 4.0项目。我使用以下命令: xbuild /tv:4.0 我可以在编译错误中看到,它似乎仍然使用默认的4.5工具版本: /usr/local/ceral/mono/4.2.0.179/lib/mono/4.5/Microsoft.CSharp.targets (核心编译目标)-> Helpers/Formatters/TextMediaTypeFormatter.cs(20,32)
xbuild /tv:4.0
我可以在编译错误中看到,它似乎仍然使用默认的4.5工具版本:
/usr/local/ceral/mono/4.2.0.179/lib/mono/4.5/Microsoft.CSharp.targets
(核心编译目标)->
Helpers/Formatters/TextMediaTypeFormatter.cs(20,32):错误CS0115:
我已经检查了.sln和csproj文件,它们不包含任何对4.5的引用,
下面是.csproj的一部分
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> ... <PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
...
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
...
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
...
。。。
调试
任意CPU
...
图书馆
性质
...
v4.0
...
问题的核心是MediaTypeFormatter重写的方法,该方法似乎在4.0和4.5之间发生了变化,使用了HttpContent和HttpContentHeaders
我希望通过在csproj或相关文件中设置toolsversion或target版本,我可以在mono下构建东西
我是C#和Mono的新手,因此任何关于我做错了什么的见解或其他可能的解决方案都将不胜感激
编辑:由于项目限制,更新到4.5工具/目标/版本不是一个选项。Mono 4删除所有旧配置文件,只保留4.5配置文件。我想这可能是原因。现在你应该把目标定在4.5配置文件上。感谢你的回复,不幸的是,由于项目限制,目标定在4.5配置文件不是一个选项,我真的试图找到一种方法来强制mono构建4.0配置文件,我尝试降级到旧版本的mono,但也遇到了同样的问题。