Игнорирование зависимостей в пакете Nuget

У меня есть пакет, который имеет 5 зависимостей - один из которых - MVC3. При установке этого пакета я хочу игнорировать зависимость только от MVC3. Есть ли способ, которым я могу это сделать?

В консоли диспетчера пакетов Nuget существует опция игнорировать зависимости при установке пакетов -

Install-Package <package name> -IgnoreDependencies

Я хочу знать, есть ли способ указать конкретную зависимость для игнорирования, а не игнорировать все зависимости.

Ответ 1

В документах не указаны такие параметры. Вам придется игнорировать все зависимости, а затем устанавливать те, которые вам нужны отдельно. Я полагаю, вам также придется игнорировать все зависимости при вызове пакета обновления и обновлять другие зависимости отдельно, если вы когда-либо используете это.

Если вы создатель пакета, вы можете установить MVC3 как зависимость от разработки, но это не поможет, если кто-то else управляет пакетом.

Ответ 2

Если вы создаете свой собственный пакет, добавьте следующее в свой nuspec

<?xml version="1.0" encoding="utf-8"?>
<packages>
    <package id="MVC3" version="1.6.4" developmentDependency="true"     />
</packages>

Обратите внимание на начало строки <package. При создании собственного пакета вы можете исключить отдельные пакеты с помощью developmentDependency="true". Это приведет к удалению этого пакета в качестве зависимости. Пример, который я предоставил, - это просто фиктивные данные. Подробнее об этой функции читайте здесь