Задача MS Build не может найти AL.EXE

Проблема заключается в следующем:

C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets (2863,5): ошибка MSB3086: Задаче не удалось найти "AL.exe" с помощью SdkToolsPath "или ключ реестра"HKEY_LOCAL_MACHINE\ " ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \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 следующим образом:

ToolPath = "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, он автоматически регистрирует переменные.

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

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

Вам нужно проверить путь к msbuild.exe

Я решил ту же проблему, изменив путь с "C:\Windows\Microsoft.NET\Framework64\v4.0.30319" на "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin". "

Другие вопросы по тегам