我正在使用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文件中的属性组。 但这需要改变许多这样的文件 欢迎任何建议
答案 0 :(得分:1)
通过确保_IsNativeEnvironment环境变量设置为false,我已经能够解决同样的问题。