Could not run the GenerateResource task because MSBuild could not create or connect


ERROR MSB4017: Could not run the GenerateResource task because MSBuild could not create or connect to a task host with runtime CLR2 and architecture x86. - Article authored by Kunal Chowdhury on , and was last updated on 2022-03-07T11:04:13Z.
Follow us on:    Twitter  |  Mastodon  |  Facebook  |  WhatsApp  |  Telegram  |  Google News

In case you are facing the following error MSB4017: Could not run the "GenerateResource" task because MSBuild could not create or connect, while building your project/solution in Visual Studio, this could be because the build system is running out of the build process.

 

To resolve this error, there could be two different approaches. In this quick note, sharing both the solutions for your easy reference.

 

ERROR MSB4017: Could not run the

 

While building projects/solutions in Visual Studio, the build may break with the following error log:

ERROR MSB4017: 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\14.0\bin\MSBuildTaskHost.exe" exists and can be run.

This may happen when the build system is running out of the build process. This is a feature introduced in Visual Studio 2012 and the error can happen in older versions too. To resolve this error, you need to disable the out of process task host.

 

How to resolve the issue?

To resolve it, go to all your .csproj file where the error is occuring and add the following line under the default property group:

 

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

 

Alternative approach to resolve the issue

Alternatively, you can perform the following steps to disable the out of process task host for all users in that system:

  • Click on the Start button.
  • Right-click on Computer and then navigate to Properties | Advanced system settings.
  • Click Environment Variables... button to open the dialog.
  • Now, under the System variables panel, click New... button.
  • Enter the Variable name as DISABLEOUTOFPROCTASKHOST, and enter the Variable value as 1.
  • Click OK | OK | OK to save the configurational details.
  • You may have to restart the system in order to apply the configurational changes.