Я пытаюсь 'опубликовать sh' (сборка, пакет nuget и pu sh) проекта библиотеки UWP в частном фиде azure с использованием конвейеров azure. Я использую редактор classi c в конвейерах со следующими агентами:
- Установщик инструмента Nuget - укажите 5.5.1
- Nuget - восстановите
- Visual Studio Build - vs2019, выпуск, любой процессор
- Nuget - пакет
- Nuget - pu sh
Я могу успешно упаковать файл .csproj, но когда я установить пакет nuget и использовать компонент из библиотеки. Я получаю эту ошибку:
Код серьезности Описание Ошибка состояния подавления строки файла проекта XDG0062 System.Reflection.TargetInvocationException: Исключение было сгенерировано целью вызова. ---> Windows .UI.Xaml.Markup.XamlParseException: Сбой разбора XAML. в Windows .UI.Xaml.Application.LoadComponent (Компонент объекта, URI resourceLocator, ComponentResourceLocation componentResourceLocation) в DeviceEnumerationAndPairing.Components.SerialDevicePicker..ctor () --- Конец внутренней трассировки стека исключений --- в System.RandleTy. CreateInstance (тип RuntimeType, Boolean publi c DevTest MainPage.xaml 14
Я думаю, что мне нужно использовать .nuspe c, чтобы сообщить пакету NuGet, чтобы он копировал файлы .xaml и .xbf компонента в .nupkg. Я ввел следующее в .nuspe c:
<?xml version="1.0" encoding="utf-8"?>
<package>
<metadata >
<id>myfeedname.DeviceEnumerationAndPairing</id>
<version>1.0.2</version>
<title>DeviceEnumerationAndPairing</title>
<authors>idldev</authors>
<owners>idldev</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Internal uwp library for device enumeration and pairing</description>
<releaseNotes>Development</releaseNotes>
<tags>device serial pairing idl idldev</tags>
</metadata >
<files>
<!-- WinMd and IntelliSense -->
<!-- XAML controls -->
<file src="..\DeviceEnumerationAndPairing\bin\Release\DeviceEnumerationAndPairing.XML" target="lib\uap10.0"/>
<file src="..\DeviceEnumerationAndPairing\obj\Release\embed\DeviceEnumerationAndPairing\Components\SerialDevicePicker.xbf" target="lib\uap10.0\Components"/>
<file src="..\DeviceEnumerationAndPairing\bin\Release\DeviceEnumerationAndPairing\Components\SerialDevicePicker.xaml" target="lib\uap10.0\Components"/>
<!-- DLLs and resources -->
<file src="..\DeviceEnumerationAndPairing\bin\Release\DeviceEnumerationAndPairing.dll" target="runtimes\win10-arm\native\DeviceEnumerationAndPairing.dll"/>
<file src="..\DeviceEnumerationAndPairing\bin\Release\DeviceEnumerationAndPairing.pri" target="runtimes\win10-arm\native\DeviceEnumerationAndPairing.pri"/>
<file src="..\DeviceEnumerationAndPairing\bin\Release\DeviceEnumerationAndPairing.dll" target="runtimes\win10-x64\native\DeviceEnumerationAndPairing.dll"/>
<file src="..\DeviceEnumerationAndPairing\bin\Release\DeviceEnumerationAndPairing.pri" target="runtimes\win10-x64\native\DeviceEnumerationAndPairing.pri"/>
<file src="..\DeviceEnumerationAndPairing\bin\Release\DeviceEnumerationAndPairing.dll" target="runtimes\win10-x86\native\DeviceEnumerationAndPairing.dll"/>
<file src="..\DeviceEnumerationAndPairing\bin\Release\DeviceEnumerationAndPairing.pri" target="runtimes\win10-x86\native\DeviceEnumerationAndPairing.pri"/>
</files>
</package>
.. но указывать ли я, используя только .nuspe c, или оба .nuspe c и .csproj - в «пакете NuGet» я получаю следующую ошибку при попытке установить пакет nuget:
Код серьезности Описание Ошибка состояния подавления строки файла проекта NU1202 Пакет idldev.DeviceEnumerationAndPairing 1.0.1-CI -20200421-150456 несовместим с uap10.0.18362 (UAP, версия = v10.0.18362). Пакет idldev.DeviceEnumerationAndPairi ng 1.0.1-CI-20200421-150456 не поддерживает целевые рамки.
.. а для win10-arm win10-x86 ...
Я думаю, что мне нужно добавить Зависимость или .target файл? но я немного стреляю в темноте. Я знаю, что есть некоторые вопросы с похожими проблемами, поэтому надеюсь, что это не дубликат, и что это имеет смысл. Любая помощь приветствуется ...