【问题标题】:MSBuild using wrong (platform) version of Tracker.exeMSBuild 使用错误(平台)版本的 Tracker.exe
【发布时间】:2015-12-04 04:09:32
【问题描述】:

我正在使用 VS2010 (pro) 和 VS2015 Express。

最近(可能是由于安装了一些其他软件)我所有的 32 位版本都开始失败了

TRACKER:错误 TRK0002:无法执行命令:“C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\CL.exe”@C:\Users....rsp”。句柄无效。

(64 位版本继续工作)
问题似乎是 MSBuild 调用了 64 位版本的 Tracker。
Google 告诉我,其他人遇到了相反的问题,即 64 位构建得到相同的错误,而 32 位构建成功

查看 procmon 我发现 MSBUILD
(1) 打开注册表项
HKLM\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\Full 它的 InstallPath 值为

        C:\Windows\Microsoft.NET\Framework\v4.0.30319\  

(2) 尝试打开不存在的 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Tracker.exe
(3) 打开registryKey
HKLM\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v8.0A\WinSDK-NetFx40Tools-x86
(虽然不存在,但
HKLM\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v8.1A\WinSDK-NetFx40Tools-x86
确实)
(4)打开文件
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\x64\Tracker.exe
这会产生上面的错误

我无法解释“x64”的存在,尤其是当 MSBuild 似乎正在寻找以 -86 结尾的注册表项中的文件路径时

来自http://community.sharpdevelop.net/forums/p/11439/31258.aspx 有一个解决方法可以通过添加禁用跟踪器 .vcxproj 文件中的属性组为“假”。 但这需要更改许多此类文件 欢迎任何建议

【问题讨论】:

    标签: c++ visual-studio-2010 msbuild


    【解决方案1】:

    我已经能够通过确保 _IsNativeEnvironment 环境变量设置为 false 来解决相同的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-17
      • 2016-03-28
      相关资源
      最近更新 更多