Как настроить Azure Dev Ops для создания проекта Dev Express XAF-XPO? - PullRequest
0 голосов
/ 12 октября 2018

Я хочу настроить непрерывную интеграцию и развертывание для приложения XAP Mobile в Azure Devops.

Чтобы получить CI / CD, мне нужно настроить конвейер Azure для установки правильных пакетов.

В документации имеется информация по Размещение собственных каналов NuGet и Начало работы с пакетами NuGet в DevOps Azure

Dev Express объяснила, что они делаютв настоящее время не предоставляет канал Nuget для XAF, но я могу создать свой собственный делегат DCNugetPackageBuilder

Использование DXNugetPackageBuilder для создания пакетов Nuget

Согласноинструкции, которые я скачал .pdb файлы извлекли их в c: \ tmp \ символы

Я также скачал DXNugetPackageBuilder и отредактировал buildPackages.bat в соответствии с инструкциями.

Далее я запустил build.ps1 в расширенном Powershell

Это создало файлы .nupkg в C: \ tmp \ Nuget

По умолчанию используются файлы, расположенные в

 C:\Program Files (x86)\DevExpress 18.1\Components\Bin\Framework

и .pdb fФайлы, расположенные по адресу

c:\tmp\symbols

Использование Nuget.Exe и провайдера учетных данных для отправки пакетов в канал

На экране подключения к каналу упоминается, что мне нужно загрузить Nuget.exe и поставщик учетных данных download credential provider

Вот документы по поставщику учетных данных

Я распаковал VSTS CredentialProviders Nuget.Exe is

Следующим шагом является выполнение инструкций, приведенных в разделе «Добавить этот канал» на экране «Подключение к каналу».

Например,

nuget.exe push -Source "SBDDevExpress" -ApiKey VSTS c:\tmp\Nuget\DevExpress.Data.18.1.6.0.nupkg

Iстолкнулся с проблемой отказа в доступе , которая была решена здесь

, после чего я смог выдвинуть все нужные мне пакеты.

Установить источник пакета Nuget

В VS2017 с открытым решением я использовал Инструменты -> Диспетчер пакетов Nuget -> Настройки диспетчера пакетов

Я добавил настройки пакета с конечной точкой Azure, настроенной в качестве источника пакета.

Ошибки здания

КогдаЯ запускаю конвейер сборки и получаю сообщения об ошибках типа

The type or namespace DevExpress could not be found are you missing a directive or assembly reference?

looking at the pipeline error

Из изучения Updater.cs и Module.cs Кажется, мне не хватает следующих пространств имениз ленты Nuget.

DevExpress.ExpressApp.DC;
DevExpress.ExpressApp.Updating;
DevExpress.Persistent.BaseImpl.PermissionPolicy;

[Update]

DevExpress предложила мне сравнить dll, сгенерированные в папке bin, с моим фидом пакета.

Я нашел несколько отсутствующих файлов и отправил их пакеты.

Теперь у меня есть

XafMobile.Module\Properties\licenses.licx(1.0): Error LC0003: Unable to resolve type 'DevExpress.ExpressApp.ModuleBase"

showing in the build output

Я могу видеть из источникакод, что ModuleBase является общедоступным классом в DevExpress.ExpressApp

Мне интересно, если это как-то связано с отражением.

Есть некоторые упоминания об этом в Dev Express support

[Обновление]

Я попытался удалить файлы лицензии и синхронизировать проект.Теперь ошибки отображаются как отсутствующие ссылки на сборки

missing assembly references

Кроме того, когда я перестраиваю свое решение, файлы лицензий отсутствуют в папках свойств

Интересно, поможет ли это объяснить

[Обновить]

Мануэль Грюндер [DevExpress MVP] и автор DXNugetPackageBuilder объяснили, что

"При работе с nuget.packages вам нужно ссылаться на них также через nuget , как он объясняет здесь"

1 Ответ

0 голосов
/ 12 октября 2018

Как объясняется здесь

"При работе с пакетами nuget.packages вам также нужно ссылаться на них через nuget. Вот причина, по которой он не работал в первую очередь."

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...