“GenerateResource”任务 CLR2 运行时错误

问题描述 投票:0回答:8

我的应用程序不断收到此错误(顺便说一句,我正在使用 VS 2013、VB.NET 和 Windows 8.1):

无法运行“GenerateResource”任务,因为 MSBuild 无法创建或连接到运行时“CLR2”和体系结构“x86”的任务主机。请确保 (1) 所请求的运行时和/或体系结构在计算机上可用,并且 (2) 所需的可执行文件“C:\Program Files (x86)\MSBuild .0 in\MSBuildTaskHost.exe”存在并且可以运行。

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

我已经尝试在 Google 上查找答案,他们给我的答案是:“你的构建的用户名太长”(他们说 20 个或更多字符会导致错误),但事实并非如此。我的用户名只有 5 个字符。不管怎样,我不认为我的构建的用户名长度与它有任何关系;这没有任何意义。

有人知道3.5及以下版本有什么问题吗?谢谢你。

vb.net visual-studio-2013 msbuild .net-3.5 runtime-error
8个回答
49
投票

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

要解决此问题,请转到 csproj 文件并在默认属性组下添加以下行:

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

找到这里


14
投票

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


3
投票

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

单击“开始”>> 右键单击“计算机”>>“属性”>>“高级系统设置”>> 单击“环境变量”按钮打开对话框,然后在“系统变量”部分下,单击“新建...”按钮,键入变量名称 = DISABLEOUTOFPROCTASKHOST,然后输入变量值 = 1,然后单击确定。

更多这里


1
投票

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

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

对我来说工作得很好。


0
投票

我尝试添加以下内容,但没有成功

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

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

DisableOutOfProcTaskHost=true


0
投票

我在尝试构建示例解决方案时遇到了此错误,该解决方案包含在安装在

C:\Program Files\
下的某些软件中。 Visual Studio 提示我使用提升的权限重新启动(就像在“安全”位置打开解决方案时所做的那样),但是构建失败并显示 OP 的错误消息。

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


0
投票

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

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

我的下一次项目重建成功了。

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

<UseVSHostingProcess>true</UseVSHostingProcess>

0
投票

这里的答案都不适合我。我必须以管理员身份运行 Visual Studio。希望这对将来的人有帮助!

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

© www.soinside.com 2019 - 2024. All rights reserved.