Не удалось выполнить задачу, поскольку AXImp.exe не был найден при использовании MSBuild 12 для создания проекта MVC 4.0

Я пытаюсь настроить сервер сборки с помощью CruiseControl.Net и MSBuild. Однако это не срабатывает с ошибкой:

 "C:\Builds\PremiumStore\checkout\PremiumStore.sln" (default target) (1) ->
    "C:\Builds\PremiumStore\checkout\Web\PremiumStoreWeb.csproj" (default target) (37) ->
    (ResolveComReferences target) ->
    C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(2151,5):     
    error MSB3091: Task failed because "AxImp.exe" was not found, or the correct Microsoft  
    Windows SDK is not installed.
 The task is looking for "AxImp.exe" in the "bin" subdirectory beneath the location specified in the InstallationFolder value of the registry key `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v8.1A\WinSDK-  NetFx40Tools-x86.`

 You may be able to solve the problem by doing one of the following:    

 1. Install the Microsoft Windows SDK.

 2. Install Visual Studio

 3. Manually set

    the above registry key to the correct location.  4) Pass the correct location into the 
    "ToolPath" parameter of the task. 
    [C:\Builds\PremiumStore\checkout\Web\PremiumStoreWeb.csproj]

То же самое прекрасно работает на моей машине, но не на сервере.

Я пробовал искать решение по всему Интернету, но не могу его найти. Если возможно, я бы предпочел не устанавливать Visual Studio на сервере сборки. Это своего рода излишество - устанавливать всю IDE только для сборки из командной строки. Я установил Microsoft Build Tools 2013 на этот сервер, но, похоже, это не помогает.

Я попытался ввести путь в реестр, как указано в сообщении об ошибке, но это тоже не сработало. Я также проверил путь, указанный в реестре, и обнаружил, что aximp.exe действительно присутствует, но в подпапке под названием «NetFx 4.5.1 Tools». Однако копирование файлов отсюда на один уровень до родительской папки «bin» тоже не помогает.

Если это поможет, мой сервер сборки работает на Windows Server 2012.

Заранее спасибо.


person ckng    schedule 27.01.2014    source источник
comment
Это какая польза? stackoverflow.com/ questions / 2986440 /   -  person Lee Englestone    schedule 27.05.2014


Ответы (10)


То, что они рекомендуют в качестве шага 1 («установить Microsoft Windows SDK»), является правильным советом. Установите Microsoft Windows SDK.

person dnord    schedule 09.06.2014
comment
В конце концов я отказался и установил это, и оно работает. Просто подумал, что это своего рода перебор. - person ckng; 24.07.2014
comment
Я пробовал установить SDK, но инструменты разработки .NET неактивны. Предположительно это связано с тем, что .NET 4.0 не установлен, но вместо него установлен .NET 4.5. Могу ли я установить более новую версию Microsoft SDK, чтобы получить .NET 4.0 aximp.exe? - person danielcooperxyz; 10.02.2016

Я долго боролся с этим. Я, должно быть, установил шестнадцать разных вещей и попробовал двадцать разных версий ответа на ключ реестра (Задача не выполнена, поскольку AXImp.exe не был найден при использовании MSBuild 12 для сборки проекта MVC 4.0). В конце концов я понял, что использовал buildtools v14, тогда как должен был использовать 15. Поэтому вместо использования C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe я использовал C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MSBuild.exe, а затем ошибка исчезла.

person L42    schedule 22.01.2019

Я решил свою проблему, установив Windows 8.1 SDK

person Julio Nobre    schedule 09.10.2016

Для Windows 10 я установил «Microsoft Windows SDK» 8.1, но это мне не помогло.

Поэтому в описании ошибки я выбрал вариант 3): установить ключ реестра вручную.

Открыл команду "regedit" из CMD и нашел местоположение (как предложено исключение) HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft SDKs \ Windows \ v8.0A
Папка "WinSDK-NetFx40Tools-x86 "отсутствовал, поэтому я создал его и выполнил со следующими ключами:

ComponentName: инструменты Windows SDK для .NET Framework 4.0
Папка установки: C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v8.0A \ bin \ NETFX 4.0 Инструменты \
Версия продукта: 8.0.50727

P.S .: убедитесь, что в "C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v8.0A \ bin \ NETFX 4.0 Tools \" у вас есть AxImp.exe

По такому же алгоритму можно попробовать и другую версию - v8.1A.

person rock_walker    schedule 31.01.2017

Это все еще проблема, которую я видел сегодня, и я обнаружил, что когда я пытался скомпилировать приложение в Visual Studio, оно компилировалось правильно, но запускал MSBuild.exe из C: \ Windows \ Microsoft.NET \ Framework \ v4 .0.30319 \ MSBuild.exe вызвал эту ошибку.

После установки SDK .NET 4.7.2 и по-прежнему возникла та же проблема, я обнаружил, что существуют другие экземпляры MSBuild.exe.

Я изменил наш сценарий сборки, чтобы использовать вместо него C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe, и проблема «волшебным образом» исчезла.

person Ben Keene    schedule 08.08.2018

Чтобы решить эту проблему, я установил windows sdk 10, 8 и 7 и изменил реестр, чтобы указать правильную позицию, в которой находится AxImp.exe. Но, к сожалению, у меня все еще была та же ошибка.

Я просто случайно обнаружил, что использую MSBuild 14.0 вместо 4.0 (C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319) могу успешно построить мой проект.

Чтобы использовать MSBuild 14.0, вам необходимо настроить путь в переменной среды.

person Owen Cao    schedule 08.01.2019

Чтобы обойти эту проблему, мне пришлось выполнить следующие шаги.

  • Мне пришлось установить Windows SDK (в моем случае версия 7.1), но он не установился по причине, описанной в этот вопрос;
  • Затем я приступил к изменению ключей реестра, подробно описанных в ответе на этот вопрос, но получил сообщение «Ошибка записи нового содержимого значения». сообщение;
  • Я продолжил следовать этому руководству (также ссылка на ответ на вышеупомянутый вопрос в комментариях), чтобы все равно изменить ключи реестра;
  • Затем я смог установить Windows SDK, а затем вручную создал искомый раздел реестра, убедившись, что значение «InstallationFolder» указывает на вновь созданную папку SDK (в моем случае «C: \ Program Files \ Microsoft SDK \ Windows \ v7.1 ").

Это позволило мне преодолеть эту ошибку.

person Emanuele Ciriachi    schedule 26.09.2018

В итоге я использовал следующий C: \ Program Files (x86) \ Microsoft Visual Studio \ 2019 \ Professional \ MSBuild \ Current \ Bin \ msbuild.

Я думаю, что решение состоит в том, чтобы найти msbuild внутри вашей установки Visual Studio. Очевидно, это возможно только в том случае, если у вас установлена ​​Visual Studio, если у вас чистый сервер сборки, это нехорошо.

person Francois Taljaard    schedule 20.02.2020

У меня была такая же проблема. В моем случае я удалил и переустановил инструменты .NET Framework SDK для .NET 4.8. C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v10.0A отсутствовал, после переустановки он был там, и мой код был успешно построен.

person JimmyV    schedule 09.03.2021

Это случилось со мной, когда у меня было приложение C # Winforms, и я не установил соответствующую часть VS 2017, позволяющую создавать такие проекты. Поэтому убедитесь, что вы можете создать новый проект того же типа, если вы получите эту ошибку, а если нет, вернитесь к установщику и выберите правильные проекты.

person Rob    schedule 12.05.2021