我的应用程序一直收到此错误(顺便说一句,我使用的是VS 2013,VB.NET和Windows 8.1):
无法运行“GenerateResource”任务,因为MSBuild无法使用运行时“CLR2”和体系结构“x86”创建或连接到任务主机。请确保(1)计算机上可用的运行时和/或体系结构,以及(2)所需的可执行文件“C:\ Program Files(x86)\ MSBuild \ 12.0 \ bin \ MSBuildTaskHost.exe”存在且可以跑了。
该应用程序适用于.NET 3.5(3.5及更低版本让我错误)。 我尝试再次运行该应用程序。有时,它有效;有时,错误会再次出现。
我已经尝试在谷歌寻找答案,他们给我的答案结果是:“你的构建用户名太长了”(他们说20个字符或更多字符会导致错误),但事实并非如此。我的用户名只有5个字符。无论如何,我不认为我的构建用户名的长度与它有任何关系;没有意义。
有谁知道3.5及更低版本有什么问题?谢谢。
答案 0 :(得分:43)
这解决了我的机器上的问题:
要解决此问题,请转到csproj文件并在默认属性组下添加以下行:
<PropertyGroup>
...
<DisableOutOfProcTaskHost>true</DisableOutOfProcTaskHost>
</PropertyGroup>
找到here。
答案 1 :(得分:13)
清洁和重建解决方案对我有用。
答案 2 :(得分:0)
我尝试添加以下但不起作用
<PropertyGroup>
...
<DisableOutOfProcTaskHost>true</DisableOutOfProcTaskHost>
</PropertyGroup>
这为我解决了这个问题,添加了与环境变量
相同的内容<强> DisableOutOfProcTaskHost =真强>
答案 3 :(得分:0)
我在尝试构建一个安装在C:\Program Files\
下安装的某个软件中的示例解决方案时遇到了此错误。 Visual Studio提示我使用提升的权限重新启动(就像在&#34; secure&#34;位置打开解决方案时一样),但是构建失败并显示OP的错误消息。
将解决方案复制到&#34;正常&#34;文件夹(例如C:\ Temp)为我解决了它。
答案 4 :(得分:0)
我最近尝试在VS2013内部打开一个旧的VS2010 vb项目,然后遇到了这个问题。我这样解决了这个问题:
我的下一个项目重建成功了。
幸运的是,我能够观察到.vbproj文件在我的版本控制中是如何更改的,并且看到它在其中添加了以下行(之前没有,尽管最初已经设置了复选框):
<UseVSHostingProcess>true</UseVSHostingProcess>
答案 5 :(得分:0)
在每个项目中添加它是一项繁琐的任务。所以你可以在环境变量中设置它。
点击开始&gt;&gt;右键单击计算机&gt;&gt;属性&gt;&gt;高级系统设置&gt;&gt;单击Environment Variables按钮打开对话框,然后在System variables部分下,单击New ...按钮,键入Variable name = DISABLEOUTOFPROCTASKHOST ,然后键入Variable value = 1 ,然后单击“确定”。
更多here
答案 6 :(得分:0)
在此没有答案对我有用。我必须以管理员身份运行Visual Studio。希望这对以后的人有所帮助!
如果您不知道如何在Windows上以管理员身份运行程序,请单击此link。
答案 7 :(得分:0)
顺便说一下,我正在使用VS 2013,VB.NET和Windows 10(64位)
只需更改XML属性,服务即可:.NET Framework 4.6代替.Net Framework 2.0(默认)
对我来说很好。