" GenerateResource"任务CLR2运行时错误

时间:2015-02-25 00:25:08

标签: vb.net visual-studio-2013 msbuild .net-3.5 runtime-error

我的应用程序一直收到此错误(顺便说一句,我使用的是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及更低版本有什么问题?谢谢。

8 个答案:

答案 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项目,然后遇到了这个问题。我这样解决了这个问题:

  1. 我去了vb项目的属性页面
  2. 我点击了“调试”标签
  3. 在“启用Debugers ”部分中,我看到已经选中了“(x)启用Visual Studio托管过程”复选框。
  4. 我尝试取消选中()启用Visual Studio托管流程”选项
  5. 我保存了这些更改(Ctrl + S)
  6. 然后我再次选中(x)启用Visual Studio托管流程”复选框
  7. 我保存了这些更改(Ctrl + S)
  8. 我的下一个项目重建成功了。

    幸运的是,我能够观察到.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(默认)

对我来说很好。