Пакет Nuget: используйте другую версию MVC, если она доступна

У меня есть пакет nuget с открытым исходным кодом AttributeRouting. В настоящее время упакованные сборки ссылаются на System.Web.Mvc версии 2. Я хотел бы ссылаться на MVC 3/4 в проектах MVC 3/4, чтобы пользователям Windows 8/VS 2011 не нужно было устанавливать MVC 2 для использования упаковка. Кто-нибудь знает способ сделать это? Google не был моим другом.


person spot    schedule 01.06.2012    source источник


Ответы (2)


В настоящее время Nuget не может этого сделать. Вот почему в галерее Nuget есть отдельные пакеты библиотек MVC2 и MVC3.

Поэтому вам нужно создать отдельный пакет Nuget для MVC3 и MVC4 (при необходимости).

person Erik Funkenbusch    schedule 14.06.2012
comment
Не только это, но и критические изменения в MVC2, MVC3 и MVC4. Как бы вы могли создать пакет, совместимый со всеми тремя или даже совместимый с MVC5 в будущем? - person Nick Bork; 15.06.2012
comment
@NickBork - так же, как вы сейчас можете создать пакет, предназначенный для различных версий .NET. NuGet мог бы поддерживать несколько версий MVC, но сейчас это не так. Я полагаю, вы могли бы написать сценарий powershell для выполнения и каким-то образом выяснить, какая версия ... но это было бы много работы. - person Erik Funkenbusch; 15.06.2012

Вы можете добавить в свой пакет Nuget сборки для всех поддерживаемых версий MVC, а затем использовать скрипт install.ps1, чтобы удалить ненужные и оставить только сборку, совместимую с версией MVC, используемой в целевом проекте.

Более подробные инструкции и пример скрипта install.ps1 вы найдете здесь: http://blogs.korzh.com/2013/12/nuget-package-Different-mvc-versions.html

person Sergiy    schedule 29.01.2014