MSBuild使用Tracker.exe的错误(平台)版本

时间:2015-12-04 04:09:33

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

我正在使用VS2010(专业版)和VS2015 Express。

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

TRACKER:错误TRK0002:执行命令失败:"" C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ bin \ CL.exe" @C:\用户.... RSP&#34 ;.句柄无效。

(64位版本继续工作)
问题似乎是MSBuild调用了64位版本的Tracker 谷歌告诉我,其他人遇到了相反的问题,因为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文件中的属性组。 但这需要改变许多这样的文件 欢迎任何建议

1 个答案:

答案 0 :(得分:1)

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