MSBuild на Сервере CI не может найти AL.exe

Ответ Себастьяна Буске работает при использовании Symbol, но если вы используете маркер , вам нужно добавить свой собственный список событий click, например https://developer.mozilla.org/en -US / документы / веб / API / Элемент / click_event .

  marker.getElement().addEventListener('click', event => {
    window.location.href = 'https://www.mapbox.com/';
  });

45
задан Community 23 May 2017 в 11:55
поделиться

4 ответа

Поскольку вы установили последний SDK (я предполагаю, что это v7.1)

  1. Перейдите к «Microsoft Windows SDK v7.1» из меню «Пуск»
  2. Выберите «Windows SDK 7.1 Command Prompt» и введите
  3. cd Setup

  4. WindowsSdkVer -version: v7.1

Это укажет msbuild использовать эту версию инструментов без необходимости выполнять какое-либо страшное редактирование реестра.

53
ответ дан 26 November 2019 в 21:14
поделиться

Следуйте ниже шагов. Это работало отлично мне. Сэкономленный мое время.

1-Щелкают правой кнопкой значок My Computer и выбирают Properties, или в Windows Control Panel , выбирают System.

2-Выбирают Advanced параметры настройки системы .

3-На вкладка Advanced , нажмите Environment Variables.

4-Нажимают New для создания новой переменной среды под раздел Пользовательской переменной .

5-Имен переменной: значение переменной TargetFrameworkSDKToolsDirectory

6-: Инструменты TargetFrameworkSDKToolsDirectory=C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2

Значение переменной зависят от Вашего пути установки SDK. enter image description here

7-Нажимают OK, и Сохраняют все окна.

8- Перезапуск Visual Studio.

2
ответ дан 26 November 2019 в 21:14
поделиться

У меня есть простое и эффективное решение.

Проблема, похоже, в том, что версия инструментов, поставляемая с Visual Studio, - это версия 7.0A, а версия, поставляемая с Windows SDK, - это версия 7.1. Все это хорошо, но MSBuild.exe все еще ищет ключи реестра версии 7.0A, которых не существует. Это должно быть ошибка!

Если посмотреть в моем реестре, то вся информация для V6.0 и V7.1 присутствует и является правильной. Поэтому мое решение простое. Я создал ссылку в реестре, которая делает псевдоним ключей 7.1.

Невозможно создать ссылки реестра с помощью встроенных инструментов, поэтому я загрузил небольшую утилиту под названием 'regln' из здесь.

C:>regln-x86.exe "\Registry\Machine\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A" "\Registry \Machine\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.1"

Работа выполнена. Теперь MSBuild отлично работает на сервере TeamCity.

3
ответ дан 26 November 2019 в 21:14
поделиться

Недавно мы столкнулись с этой проблемой, пытаясь заставить наши сборки .Net 4.0 работать. Мы обнаружили, что расположение al.exe изменилось между оригинальным MSBuild, который поставлялся с .Net 4.0, и Visual Studio SDK для .Net 4.0 (который был выпущен позже).

Поскольку единственная доступная автономная установка SDK инструментов - это та, которую мы уже безуспешно устанавливали (та, которую вы упомянули), единственным решением, которое мы смогли придумать, была установка Visual Studio на агенты сборки. Мы поставили Visual Studio 2010 Express (чтобы установка была как можно легче), и проблема исчезла. Это не очень красивое решение, но оно сработало - установка VS2010 также устанавливает инструменты SDK определенной версии, которую, похоже, ищет MSBuild.

Это проблема, которая действительно не должна возникать, но, похоже, не было способа заставить MSBuild искать инструменты в нужном месте, даже взломав реестр.

0
ответ дан 26 November 2019 в 21:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: