Msbuild失败,错误为msb4064和msb4063

vla*_*kes 7 msbuild .net-4.0 .net-4.5

使用.NET 4.5安装Visual Studio 2012后,我在使用msbuild构建时开始出现以下错误:

  • 错误MSB4064:

"GenerateResource"任务不支持"SdkToolsPath"参数.验证该任务上是否存在该参数,它是一个可设置的公共实例属性.

  • 错误MSB4063:

无法使用其输入参数初始化"GenerateResource"任务.项目文件头如下:

    <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
Run Code Online (Sandbox Code Playgroud)

有什么想法在.NET 4.5中做了哪些改变可能导致abover错误?

Sco*_*win 5

这是 C:\Windows\Microsoft.Net\v4.0.30319 中的 Microsoft.Common.targets 文件的问题。安装 Visual Studio 2012 后,此文件将发生更改。所做的更改之一是在有人将他们的机器升级到 Windows 8 的情况下“修复” GenerateResourceMSBuildRuntime(阅读第 2271 行的详细评论以了解详细信息)。我的修复只是在 Microsoft.Common.targets 文件中注释掉以下行

<GenerateResourceMSBuildRuntime 
     Condition="'$(GenerateResourceMSBuildRuntime)' == '' and 
                 $([MSBuild]::DoesTaskHostExist(`$(TargetFrameworkAsMSBuildRuntime)`, `$(GenerateResourceMSBuildArchitecture)`))">$(TargetFrameworkAsMSBuildRuntime)</GenerateResourceMSBuildRuntime>
Run Code Online (Sandbox Code Playgroud)


小智 0

我遇到了同样的问题,并发现我正在一个项目中使用 hack 来处理大量资源文件(如果您的构建因 \xe2\x80\x9cMSB6002 失败:\xe2\x80 的命令行\x9cResGen\xe2\x80\x9d 任务太长\xe2\x80\x9d )。

\n\n

删除任务 ( GenerateResource Task ) 3.5 版本不支持的所有属性后,我的构建再次正常工作。

\n