移动构建服务器后,出现以下错误:
C:\Windows\Microsoft.NET\Framework64\v3.5\Microsoft.Common.targets (1682): Could not run the "GenerateResource" task because MSBuild could not create or connect to a task host with runtime "CLR2" and architecture "x64". Please ensure that (1) the requested runtime and/or architecture are available on the machine, and (2) that the required executable "MSBuildTaskHost.exe" exists and can be run.
我的配置说明了这一点:
<ConfigurationToBuild Include="Release|Any CPU">
<FlavorToBuild>Release</FlavorToBuild>
<PlatformToBuild>Any CPU</PlatformToBuild>
</ConfigurationToBuild>
我错过了什么?
答案 0 :(得分:12)
要解决此问题,请转到.csproj file
并使用记事本打开。
在默认属性组下添加以下行:
<PropertyGroup>
<DisableOutOfProcTaskHost>true</DisableOutOfProcTaskHost>
</PropertyGroup>
项目现在应该编译。
答案 1 :(得分:8)
就我而言,我在尝试在32位Windows 7计算机上构建解决方案时收到了该错误消息。为我解决错误的方法是右键单击VS中的项目,选择属性,然后转到Build选项卡。在这里,我将“平台目标”从“任何CPU”更改为“x86”。 HTH
答案 2 :(得分:3)
另一种方法是执行以下操作
点击开始 - &gt;&gt;右键单击计算机 - &gt;&gt;属性 - &gt;&gt;高级系统设置 - &gt;&gt;单击Environment Variables按钮打开对话框
然后在“系统变量”部分下,单击“新建...”按钮,键入 变量名= DISABLEOUTOFPROCTASKHOST,并键入变量值= 1,
然后单击“确定”。
这应该可以抑制此错误。
答案 3 :(得分:2)
您需要为正在使用的.NET版本安装.NET SDK。 这是.NET 3.5的链接 Where is the .net 3.5 SDK? 这是4.0的链接 http://www.microsoft.com/en-us/download/details.aspx?id=8279
安装Visual Studio也会安装正确的SDK,但对您来说可能不是一个好的选择。
我希望有所帮助。
答案 4 :(得分:2)
核心问题是64位可执行文件无法加载32位dll,反之亦然。
&#34;自动&#34;意思是 。 NET程序集将在运行时在平台之间切换,具体取决于当前运行的计算机上的平台。
因此使用&#34; Auto&#34;编译.NET程序集。加载一个32位的dll是一个等待发生的问题,这就是这个错误的全部内容。
要更正它,如果您不使用任何本机dll ,请转到每个托管项目的项目属性,并设置&#34;目标CPU&#34;与所有可用平台的当前选择&#34;平台&#34;相同。
如果您使用的是本机dll,则必须定义2个构建配置,一个用于32位,一个用于64位,链接(请参阅)正确版本的dll并根据目标计算机平台进行安装。
答案 5 :(得分:1)
我以管理员身份打开VS2010解决了这个问题。