"GenerateResource" 任务 CLR2 运行时错误

"GenerateResource" task CLR2 runtime error

我的应用程序不断出现此错误(顺便说一下,我使用的是 VS 2013,VB.NET 和 Windows 8.1):

Could not run the "GenerateResource" task because MSBuild could not create or connect to a task host with runtime "CLR2" and architecture "x86". 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)\MSBuild.0\bin\MSBuildTaskHost.exe" exists and can be run.

该应用程序适用于 .NET 3.5(3.5 及更低版本会出现此错误)。 我再次尝试 运行 该应用程序。有时,它有效;有时,错误又回来了。

我已经尝试在 Google 上查找答案,结果他们给我的答案是:"Your build's username is too long"(他们说 20 个或更多字符会导致错误),但事实并非如此真的。我的用户名只有 5 个字符。无论如何,我不认为我的构建用户名的长度与它有任何关系;没有意义。

有谁知道3.5及更低版本有什么问题吗?谢谢。

这解决了我机器上的问题:

要解决它,请转到您的 csproj 文件并在默认 属性 组下添加以下行:

<PropertyGroup>
    ...
    <DisableOutOfProcTaskHost>true</DisableOutOfProcTaskHost>
</PropertyGroup>

找到 here

清理和重建解决方案对我有用。

我尝试添加关注但没有成功

  <PropertyGroup>
        ...
        <DisableOutOfProcTaskHost>true</DisableOutOfProcTaskHost>
    </PropertyGroup>

这为我解决了这个问题,添加了与环境变量相同的变量

DisableOutOfProcTaskHost=true

我在尝试构建包含在 C:\Program Files\ 下安装的某些软件中的示例解决方案时遇到此错误。 Visual Studio 提示我以提升的权限重新启动(就像在 "secure" 位置打开解决方案时所做的那样),但是构建失败并显示 OP 的错误消息。

将解决方案复制到 "normal" 文件夹(例如 C:\Temp)为我解决了这个问题。

我最近尝试在 VS2013 中打开一个旧的 VS2010 vb 项目,只是 运行 遇到了这个问题。我是这样解决的:

  1. 我转到了 vb 项目的属性页面
  2. 我单击了“调试”选项卡
  3. 在“Enable Debugers”部分,我看到“(x) Enable the Visual Studio hosting process " 复选框已被选中。
  4. 我尝试了 un-checking( ) 启用 Visual Studio 托管进程”选项
  5. 我保存了这些更改 (Ctrl+S)
  6. 然后我再次选中(x) 启用Visual Studio托管进程”复选框
  7. 我保存了这些更改 (Ctrl+S)

我的下一个re-build项目就成功了。

幸运的是,我能够观察到 .vbproj 文件在我的版本控制中是如何变化的,并看到它在其中添加了以下行(之前没有,尽管复选框已经被选中初始设置):

<UseVSHostingProcess>true</UseVSHostingProcess>

在每个项目中添加它是一项繁琐的任务。所以你可以在环境变量中设置它。

Click Start>> Right-click Computer >> Properties >> Advanced system settings >> Click Environment Variables button to open the dialog, then under the System variables section, click New… button, type the Variable name = DISABLEOUTOFPROCTASKHOST, and type the Variable value = 1, then click Ok.

更多here

None 中的答案对我有用。我必须 运行 Visual Studio 作为管理员。希望这对以后的人有所帮助!

如果您不知道如何在 Windows 上以管理员身份 运行 程序,请单击此 link

我正在使用 VS 2013,VB.NET,Windows 10, 64 位,顺便说一句

只需更改 XML 属性,服务:.NET Framework 4.6 而不是 .Net Framework 2.0(默认)

对我来说工作得很好。