Azure Pipelines не использует указанную версию NuGet - PullRequest
0 голосов
/ 26 февраля 2019

Это мой оригинальный файл YML.

trigger:
- master

pool:
  vmImage: 'Ubuntu-16.04'

variables:
  buildConfiguration: 'Release'

steps:

- task: NuGetToolInstaller@0
  displayName: "NuGet use 4.9.3"
  inputs:
    versionSpec: 4.9.3

- task: DotNetCoreInstaller@0
  inputs:
    version: '2.2.104'

- task: NuGetCommand@2
  displayName: "NuGet Restore"
  inputs:
    restoreSolution: '**/*.csproj'

- task: DotNetCoreCLI@2
  displayName: ".NET build"
  inputs:
    projects: '**/*.csproj'
    arguments: --configuration $(BuildConfiguration) --no-restore

- task: DotNetCoreCLI@2
  displayName: ".NET publish package"
  inputs:
    command: publish
    arguments: '--configuration $(BuildConfiguration) --no-restore --output $(Build.ArtifactStagingDirectory)/app/pkg'

Это вывод, который я получаю для шага восстановления Nuget.

[раздел] Запуск: восстановление NuGet ============================================================================== Задача: NuGet Описание: восстановить, упаковать или отправить пакеты NuGet или выполнить команду NuGet.Поддерживает NuGet.org и аутентифицированные каналы, такие как Package Management и MyGet.Использует NuGet.exe и работает с приложениями .NET Framework.Для приложений .NET Core и .NET Standard используйте задачу .NET Core.Версия: 2.147.6 Автор: Microsoft Corporation Справка: Дополнительная информация =================================================================================== Инструмент кэширования:NuGet 4.1.0 x64 Найденный инструмент в кеше: NuGet 4.1.0 x64 Разрешен из кэша инструментов: 4.1.0 Использование версии: 4.1.0 Найденный инструмент в кеше: NuGet 4.1.0 x64

Как сделатьЯ отключаю использование "кеша инструментов"?Он использует 4.1.0 вместо 4.9.3.

ОБНОВЛЕНИЕ: в соответствии с рекомендациями комментариев я обновил свой файл YML.

trigger:
- master

pool:
  vmImage: 'vs2017-win2016'

variables:
  buildConfiguration: 'Release'

steps:

- task: DotNetCoreCLI@2
  inputs:
    command: restore

- task: DotNetCoreCLI@2
  displayName: ".NET build"
  inputs:
    projects: '**/*.csproj'
    arguments: --configuration $(BuildConfiguration) --no-restore

- task: DotNetCoreCLI@2
  displayName: ".NET publish package"
  inputs:
    command: publish
    arguments: '--configuration $(BuildConfiguration) --no-restore --output $(Build.ArtifactStagingDirectory)/app/pkg'

Я все еще получаю ошибки.

Он все еще делает то же самое.

Запуск восстановления NuGet

Задача: NuGet Описание: восстановить, упаковать или отправить пакеты NuGet или выполнить команду NuGet.Поддерживает NuGet.org и аутентифицированные каналы, такие как Package Management и MyGet.Использует NuGet.exe и работает с приложениями .NET Framework.Для приложений .NET Core и .NET Standard используйте задачу .NET Core.Версия: 2.147.6 Автор: Microsoft Corporation Справка: Дополнительная информация https: //go.microsoft.com/fwlink/? LinkID = 613747

Инструмент кэширования: NuGet 4.1.0 x64 Найденный инструмент в кэше: NuGet 4.1.0 x64 Разрешено из кэша инструментов: 4.1.0 Использование версии: 4.1.0 Найденный инструмент в кэше: NuGet 4.1.0 x64 SYSTEMVSSCONNECTION существует true SYSTEMVSSCONNECTION существует true [команда] C: \ windows \ system32 \ chcp.com 65001 Активная кодовая страница: 65001 Обнаружена версия NuGet 4.1.0.2450 / 4.1.0 SYSTEMVSSCONNECTION существует true Сохранение NuGet.config во временный файл конфигурации.[command] C: \ hostedtoolcache \ windows \ NuGet \ 4.1.0 \ x64 \ nuget.exe Источники Добавить -NonInteractive -Name NuGetOrg -Source https://www.nuget.org/api/v2/ -ConfigFile d: \ a \ 1 \ Nuget \ tempNuGet_57.configИсточник пакета с именем: NuGetOrg успешно добавлен.Сохранение NuGet.config во временный файл конфигурации.

Почему он даже выполняет восстановление Nuget, когда его больше нет в моем YML-файле?

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

Установщик инструментов и задачи NuGet больше подходят для компьютеров с Windows.Поскольку вы используете агент Ubuntu, просто используйте команду dotnet restore:

- task: DotNetCoreCLI@2
  inputs:
    command: restore
0 голосов
/ 26 февраля 2019

Это работает для меня

- task: NuGetToolInstaller@0
  displayName: 'Use NuGet 4.9.x'
  inputs:
    versionSpec: 4.9.x

- task: NuGetCommand@2
  displayName: 'NuGet restore'
  inputs:
    restoreSolution: '$(Pipeline.TriggerDirectory)/Library.sln'
    vstsFeed: '[your feed here]'
    noCache: true

Журнал

Установка инструмента

[раздел] Запуск: Используйте NuGet 4.9.x
========================================================================= Задача: NuGet Tool Installer
Описание: получает определенную версию NuGet из Интернета или из кэша инструментов и добавляет ее в PATH,Используйте это задание, чтобы изменить версию NuGet, используемую в заданиях NuGet.
Версия: 0.145.0
Автор: Microsoft Corporation
Справка: Дополнительная информация
========================================================================= Вы используете совпадение запроса в строке версии.Изменения поведения или критические изменения могут произойти при обновлении NuGet до новой версии.Скачивание: https://dist.nuget.org/win-x86-commandline/v4.9.3/nuget.exe
Инструмент кэширования: NuGet 4.9.3 x64
Использование версии: 4.9.3
Найденный инструмент в кэше: NuGet 4.9.3 x64
Использование пути инструмента: C: \ hostedtoolcache \windows \ NuGet \ 4.9.3 \ x64 Предварительная переменная среды PATH с каталогом: C: \ hostedtoolcache \ windows \ NuGet \ 4.9.3 \ x64
[раздел] Окончание: использование NuGet 4.9.x

Восстановление пакета

[раздел] Запуск: восстановление NuGet ============================================================================== Задача: NuGet
ОписаниеВосстановите, упакуйте или отправьте пакеты NuGet или выполните команду NuGet.Поддерживает NuGet.org и аутентифицированные каналы, такие как Package Management и MyGet.Использует NuGet.exe и работает с приложениями .NET Framework.Для приложений .NET Core и .NET Standard используйте задачу .NET Core.
Версия: 2.147.6
Автор: Microsoft Corporation
Справка: Дополнительная информация
========================================================================= SYSTEMVSSCONNECTION существует true
SYSTEMVSSCONNECTION существует true
[команда] C: \ windows \ system32 \ chcp.com 65001
Активная кодовая страница: 65001
Обнаружена версия NuGet 4.9.3.5777 / 4.9.3 + e5150f1e119e456e01c4f1e413213d392eda1c3a
SYSTEMVSSCONNECTION существует true
Сохранение NuGet.config во временный файл конфигурации. * 1042 \ команда] [COL]: команда] [COL]: [>windows \ NuGet \ 4.9.3 \ x64 \ nuget.exe

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