2015-12-04 2 views
3

Я использую VS2010 (pro) и VS2015 Express.MSBuild с использованием неправильной (платформенной) версии Tracker.exe

В последнее время (вероятно, в результате установки какой-то другого программного обеспечения) все мои 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 есть wordaround отключить трекер, добавив «False» в группы свойств в файле .vcxproj. Но это влечет за собой изменение многих таких файлов Любые советы приветствуются

ответ

1

Я смог решить ту же проблему, убедившись, что переменная среды _IsNativeEnvironment установлена ​​в false.

Смежные вопросы