2017-02-09 2 views
2

Вопрос заключается в следующем:MS Построить задачу не может найти al.exe

C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets (2863,5): Ошибка MSB3086: Задача не удалось найти «AL.exe» с помощью SdkToolsPath »« или раздел реестра «HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft SDKs \ Windows \ v8.0A \ WinSDK-NetFx40Tools-x86". Убедитесь, что SdkToolsPath установлен и инструмент существует в правильном процессоре конкретного места под SdkToolsPath и что Microsoft Windows SDK установлен

Я пробовал различные трудоемкие решения, найденные в Интернете, но наконец, мне удалось решить эту проблему так:

  1. Перейти к C:\Windows\Microsoft.NET\Framework\v4.0.30319\
  2. Открыть с помощью текстового редактора файл Microsoft.Common.targets
  3. Найдите "al.exe" в файле на шаге 2 и замените поля "ToolPath" и "ToolExe" фактическим путем файла "al.exe".

У меня есть установка двух полей на шаге 3 следующим образом:

Траектория = "C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v8.0A \ Bin \ NETFX 4.0 Tools \» ToolExe = "C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v8.0A \ Bin \ NETFX 4.0 Tools \ al.exe"

Спасибо.

ответ

1

Вы должны зарегистрировать переменные перед MSBuild вызова:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\vsvars32.bat 

Я использую psake, он регистрирует VARS автоматически.

Альтернативное решение - добавить параметров:

msbuild.exe "/p:TargetFrameworkSDKToolsDirectory=C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools" 
+0

Благодаря Der_Meister, я ценю ваш ответ, но я уже пытался это решение до моего поста, и он не работал для меня. Вот почему я опубликовал еще одно решение, которое работало в моем случае и могло работать для других. –

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