Я создал приложение UWP с использованием Sqlite. На моем локальном компьютере мне пришлось установить следующий SQLite для универсальной платформы Windows Расширение Visual Studio для его сборки. Я следил за этим blog при использовании sqlite в UWP
Сейчас я пытаюсь реализовать непрерывную интеграцию с Visual Studio Team Services (был Team Foundation Server Online).
Я использую размещенный пул для создания своего приложения, но получаю следующее сообщение:
C: \ Program Files (x86) \ MSBuild \ 14.0 \ bin \ Microsoft.Common.CurrentVersion.targets (2049,5): ошибка MSB3774: не удалось найти SDK «SQLite.UWP.2015, Version = 3.12.2».
и это нарушает сборку.
Как я могу исправить это в размещенном пуле? У меня нет физического доступа к машине, так как она управляется TFS онлайн.
РЕДАКТИРОВАТЬ:
Обнаружив, что это библиотека, которая установлена на моем локальном компьютере (через расширение Visual Studio) и поэтому не существует на моем размещенном компьютере, это означает, что ссылка не работает, я пытаюсь добавить соответствующие файлы в систему управления версиями и ссылаться на нее непосредственно из источника контроль. Но я понятия не имею, на какую dll он на самом деле ссылается, поскольку он не говорит. Свойства ссылки следующие:
Итак, я узнал, что, установив расширение и сделав ссылку на него, оно упоминается в C:\Program Files (x86)\Microsoft SDKs\UAP\v0.8.0.0\ExtensionSDKs\SQLite.UWP.2015
, которого, очевидно, нет на хост-машине. Я не знаю, какую dll он ищет и как получить ее в рамках проекта. — person user1 schedule 06.05.2016
Вы не можете установить дополнительное расширение в размещенном VSTS. Я пробовал с поддержкой TS, но сейчас нет возможности сделать это.
Вы можете использовать различную службу CI, такую как Appveyor, и дать вам некоторый контроль над установкой расширения через PowerShell.
Или вы можете дождаться Годовщина Windows 10 с включенным Sqlite.
Невозможно установить расширение в агент размещенной сборки.
Вот программное обеспечение, установленное на Hosted Build Agent: Программное обеспечение на размещенном сервере сборки.
Решение — развернуть собственный агент сборки. . С помощью этого агента сборки вы можете установить программное обеспечение, которое хотите создать для своего проекта.
В итоге я развернул свой собственный агент сборки, так как он дает мне больше контроля, и я могу установить расширение на свой собственный агент сборки. — person user1; 09.05.2016
Мы изучаем возможность использования административных функций во время сборки, поскольку вы владеете машиной в течение этого арендованного периода времени. — person user1; 09.08.2016
По-прежнему нет Sqlite для UWP на размещенных машинах .. Давай, Microsoft, вытащи палец! — person user1; 15.02.2017
На самом деле есть простое решение, которое отлично сработало для нас:
Скопируйте папку Microsoft SDKs в свое репо (или подмодуль).
Добавьте это в конец вашего файла csproj:
С этого момента процесс сборки сначала проверяет этот каталог на наличие необходимых расширений, а затем откатывается к локально установленным расширениям. Это отлично работает с агентами, размещенными в VSTS, и не требует установки всех расширений на каждую машину разработчика.
Конечно, вам нужно скопировать только те расширения и версии, которые вы используете, но они должны иметь одинаковую структуру папок, например UAP \ v0.8.0.0 \ ExtensionSDKs \ … — person user1; 09.08.2016
Спасибо: этот совет сэкономил много времени! — person user1; 29.10.2017
Это решило ту же проблему с моим проектом UWP.