Как контролировать, какая зависимая версия установлена ​​при использовании PackageReference

У меня есть проект C#, в котором используется PackageReference для управления зависимостями с помощью NuGet. Я могу без проблем устанавливать пакеты верхнего уровня с помощью диспетчера NuGet. Однако я ищу способ заставить Nuget установить определенную версию одной из зависимостей.

Например, у меня есть проект под названием MainProject.Data.. В этом проекте я установил пакет под названием XYZ.Main. Но пакет XYZ.Main имеет XYZ.Secondary >= 2.1.0 в списке зависимостей. Мне нужен способ заставить Nuget установить XYZ.Secondary 2.1.5, а не последнюю версию XYZ.Secondary 2.1.25.

Как я могу контролировать, какую зависимость устанавливать?


person John    schedule 06.07.2020    source источник
comment
Привет, Джон, пожалуйста, проверьте, поможет ли мой ответ решить эту проблему. Если это поможет, пожалуйста, не забудьте принять его. И если нет, пожалуйста, не стесняйтесь, дайте нам знать.   -  person Mr Qian    schedule 06.08.2020


Ответы (1)


Как контролировать, какая зависимая версия установлена ​​при использовании PackageReference

Я боюсь, что вы не сможете установить конкретную версию зависимости 2.1.5 при одновременной установке пакета XYZ.Main с помощью PackageReference.

Когда вы устанавливаете пакет nuget, он автоматически устанавливает наименьшую версию зависимостей в допустимом диапазоне по умолчанию. Он разработан таким образом.

В качестве предложения,

Чтобы установить XYZ.Secondary 2.1.5, вы должны найти зависимость XYZ.Secondary в интерфейсе диспетчера пакетов Nuget, а затем обновить ее до 2.1.5. Это обновит соответствующую версию в вашем проекте до 2.1.5.

Как это:

введите здесь описание изображения

Кроме того, если вы все еще хотите, чтобы ваши требования были реализованы, вы можете предложить функцию на нашем Форум User Voice (нажмите Предложить функцию). Команда внимательно рассмотрит ваш запрос и надеется дать вам удовлетворительный ответ.

person Mr Qian    schedule 07.07.2020