Я использую Azure Dev Ops для работы с моим веб-приложением ASP.NET Core. Я настраиваю конвейер, но получаю ошибки. Ошибки возникают из-за проблемы с восстановлением пакетов, так как мое приложение использует библиотеку KendoUI, которую я должен создать для служебного подключения для необходимых частных пакетов NuGet. После этого сборка все еще не удается, и мне было интересно, что происходит?
Сообщение об ошибке
[error] Сбой команды nuget с кодом выхода(1) и ошибка (NU1102: невозможно найти пакет Telerik.UI.for.AspNet.Core с версией (> =
2019.2.619) - Найдено 1 версий в NuGetOrg [Ближайшая версия: 2016.3.914] Ошибки в d: \ a \ 1 \ s \ MyCompany \ MyProject.UI.csproj NU1102: не удается найти пакет Telerik.UI.for.AspNet.Core с версией (> = 2019.2.619) - найдена 1 версия (s) в NuGetOrg [Ближайшая версия: 2016.3.914])
[ошибка] Пакеты не удалось восстановить
Я говорил с поддержкой Telerik, которая сказала, что приведенный выше код вызван тем, чтосбой в аутентификации, и это заставляет систему искать более старую версию, которая вызывает эту проблему совместимости. Меня попросили проверить мою аутентификацию, которая у меня есть, но эта ошибка сохраняется.
Я следовал документации Telerik о том, как этого добиться, которую вы можете найти здесь: https://www.telerik.com/blogs/azure-devops-and-telerik-nuget-packages
Хорошо,Для начала мой проект имеет файл nuget.config
, расположенный в его корневом каталоге. Содержимое файла:
nuget.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageRestore>
<add key="enabled" value="True" />
<add key="automatic" value="True" />
</packageRestore>
<activePackageSource>
<add key="All" value="(Aggregate source)" />
</activePackageSource>
<packageSources>
<add key="NuGet" value="https://api.nuget.org/v3/index.json" />
<add key="Telerik" value="https://nuget.telerik.com/nuget" />
</packageSources>
<packageSourceCredentials>
<Telerik>
<add key="Username" value="me@mybusiness.com" />
<add key="ClearTextPassword" value="MyFunkYPassword19!" />
</Telerik>
</packageSourceCredentials>
</configuration>
В Azure Dev Ops я создал подключение к службе способом, описанным в их документации, котораяимеет имя пользователя и пароль в качестве кода выше
В моем конвейере я добавил пакет Nuget, который настроен на восстановление с использованием моего сервисного соединениявыше.
# Build and test ASP.NET Core projects targeting the full .NET Framework.
# Add steps that publish symbols, save build artifacts, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/dotnet-core
trigger:
- master
pool:
vmImage: 'windows-latest'
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
steps:
- task: NuGetToolInstaller@1
- task: NuGetCommand@2
inputs:
restoreSolution: '$(solution)'
- task: NuGetCommand@2
inputs:
command: 'restore'
restoreSolution: '**/*.sln'
feedsToUse: 'config'
nugetConfigPath: 'MyProject/nuget.config'
externalFeedCredentials: 'Telerik NuGet'
- task: VSBuild@1
inputs:
solution: '$(solution)'
msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:DesktopBuildPackageLocation="$(build.artifactStagingDirectory)\WebApp.zip" /p:DeployIisAppPath="Default Web Site"'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: VSTest@2
inputs:
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
Настройки для вышеуказанного шага конвейера следующие:
Есть ли у кого-нибудь какие-либо идеи о том, что происходитвключен, мои настройки неверны?