无法 运行 "GenerateResource" 任务,因为 MSBuild 无法创建或连接到具有 运行 时间 "CLR4" 和体系结构 "x64" 的任务主机
Could not run the "GenerateResource" task because MSBuild could not create or connect to a task host with runtime "CLR4" and architecture "x64"
我正在使用 Visual Studio 2017 企业版 15.7.1 和 .NET Framework 4.5。
我刚刚安装了 Windows 10 更新版本 10.0.18363 构建 18363。
我可以在同一个解决方案中构建其他项目,但是对于这个项目,我在构建时遇到了这个错误
2>C:\Program Files (x86)\Microsoft Visual Studio17\Professional\MSBuild.0\Bin\Microsoft.Common.CurrentVersion.targets(3045,5):
error MSB4216:
Could not run the "GenerateResource" task because MSBuild could not create or connect to a task host with runtime "CLR4" and architecture "x64".
Please ensure that (1) the requested runtime and/or architecture are available on the machine, and (2) that the required executable "C:\Program Files (x86)\Microsoft Visual Studio17\Professional\MSBuild.0\Bin\amd64\MSBuild.exe" exists and can be run.
Error MSB4028 The "GenerateResource" task's outputs could not be retrieved from the "FilesWritten" parameter.
Object does not match target type. my-project-name C:\Program Files (x86)\Microsoft Visual Studio17\Professional\MSBuild.0\Bin\Microsoft.Common.CurrentVersion.targets 3066
我该如何解决这个问题?
谢谢。
试试这些:
1) 在您的 xxx.csproj
文件中添加这些 xml 节点:
<PropertyGroup>
<GenerateResourceMSBuildArchitecture>CurrentArchitecture</GenerateResourceMSBuildArchitecture>
<GenerateResourceMSBuildRuntime>CurrentRuntime</GenerateResourceMSBuildRuntime>
</PropertyGroup>
2) 添加名为DisableOutOfProcTaskHost
的系统环境变量并将其值设置为true
.
或将DISABLEOUTOFPROCTASKHOST
设为1
。
3) 因为你的VS2017太旧了,建议你更新一下你的VS2017 到最新版本,以防有一些修复。或者 repair vs.
另外,确保你已经安装了工作负载.Net Core cross-platform development in vs installer.
4)关闭VS,删除解决方案文件夹下的.vs
隐藏文件夹,bin
和obj
文件夹,然后重启VS进行测试再次。 除外,您可以将目标框架版本更改为net framework 4.6.1
,将配置更改为Any CPU
。
我有同样的错误(在版本 16.9.3 中)但是通过修复 Visual Studio 2019,更新最新版本 windows 10,关闭 VS,删除 .vs 隐藏文件夹(在解决方案文件夹下)、bin 和 obj 文件夹,然后重新启动您的 VS。还好我的问题解决了。
我正在使用 Visual Studio 2017 企业版 15.7.1 和 .NET Framework 4.5。
我刚刚安装了 Windows 10 更新版本 10.0.18363 构建 18363。
我可以在同一个解决方案中构建其他项目,但是对于这个项目,我在构建时遇到了这个错误
2>C:\Program Files (x86)\Microsoft Visual Studio17\Professional\MSBuild.0\Bin\Microsoft.Common.CurrentVersion.targets(3045,5):
error MSB4216:
Could not run the "GenerateResource" task because MSBuild could not create or connect to a task host with runtime "CLR4" and architecture "x64".
Please ensure that (1) the requested runtime and/or architecture are available on the machine, and (2) that the required executable "C:\Program Files (x86)\Microsoft Visual Studio17\Professional\MSBuild.0\Bin\amd64\MSBuild.exe" exists and can be run.
Error MSB4028 The "GenerateResource" task's outputs could not be retrieved from the "FilesWritten" parameter.
Object does not match target type. my-project-name C:\Program Files (x86)\Microsoft Visual Studio17\Professional\MSBuild.0\Bin\Microsoft.Common.CurrentVersion.targets 3066
我该如何解决这个问题? 谢谢。
试试这些:
1) 在您的 xxx.csproj
文件中添加这些 xml 节点:
<PropertyGroup>
<GenerateResourceMSBuildArchitecture>CurrentArchitecture</GenerateResourceMSBuildArchitecture>
<GenerateResourceMSBuildRuntime>CurrentRuntime</GenerateResourceMSBuildRuntime>
</PropertyGroup>
2) 添加名为DisableOutOfProcTaskHost
的系统环境变量并将其值设置为true
.
或将DISABLEOUTOFPROCTASKHOST
设为1
。
3) 因为你的VS2017太旧了,建议你更新一下你的VS2017 到最新版本,以防有一些修复。或者 repair vs.
另外,确保你已经安装了工作负载.Net Core cross-platform development in vs installer.
4)关闭VS,删除解决方案文件夹下的.vs
隐藏文件夹,bin
和obj
文件夹,然后重启VS进行测试再次。 除外,您可以将目标框架版本更改为net framework 4.6.1
,将配置更改为Any CPU
。
我有同样的错误(在版本 16.9.3 中)但是通过修复 Visual Studio 2019,更新最新版本 windows 10,关闭 VS,删除 .vs 隐藏文件夹(在解决方案文件夹下)、bin 和 obj 文件夹,然后重新启动您的 VS。还好我的问题解决了。