.net 4.0 Msbuild失败,错误为msb4064和msb4063

.net 4.0 Msbuild失败,错误为msb4064和msb4063,.net-4.0,msbuild,.net-4.5,.net 4.0,Msbuild,.net 4.5,使用.NET 4.5安装Visual Studio 2012后,我在使用msbuild生成时开始出现以下错误: 错误MSB4064: “GenerateResource”任务不支持“SdkToolsPath”参数。验证任务上是否存在该参数,以及该参数是否为可设置的公共实例属性 错误MSB4063: 无法使用其输入参数初始化“GenerateResource”任务。 项目文件头如下所示: 你知道在.NET 4.5中所做的哪些更改可能会导致上述错误吗?我也有同样的问题,并发现我在其中一个

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

  • 错误MSB4064:
“GenerateResource”任务不支持“SdkToolsPath”参数。验证任务上是否存在该参数,以及该参数是否为可设置的公共实例属性

  • 错误MSB4063:
无法使用其输入参数初始化“GenerateResource”任务。 项目文件头如下所示:



你知道在.NET 4.5中所做的哪些更改可能会导致上述错误吗?

我也有同样的问题,并发现我在其中一个项目中使用了一种黑客技术来处理大量的资源文件()


删除3.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>
$(TargetFrameworkAsMSBuildRuntime)

如果您执行了Bernard建议的变通方法,实际上是一个更好的解决方案,即。是从项目文件中完全删除解决方案。实际上,微软已经用VisualStudio2012 SDK工具解决了这一问题

请参阅有关此问题的详细信息

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