Поэтому, когда вы устанавливаете MVC в Visual Studio, он помещает DLL MVC в GAC. Таким образом, они не обязательно должны находиться в файловой системе вашего проекта, чтобы проект был создан.
Когда мы развертываем это для жизни и наш сервер непрерывной интеграции, требуемые зависимости для MVC и Razor не находятся в управлении версиями. Достаточно, почему Microsoft сделала это настолько сложным, что это вне меня.
Я один для автоматизации всего, что могу, поэтому мне интересно, как лучше всего решить проблему с отсутствующими DLL.
Теперь для проектов ASP.Net MVC я решил это с помощью развертывания bin, как указано здесь http://haacked.com/archive/2011/05/25/bin-deploying-asp-net-mvc-3.aspx в блоге Phil Haack. Это отлично работает, но у меня также есть некоторые проекты библиотек, которые ссылаются на System.Web.Mvc, которые не будут компилироваться на сервере сборки, а опции развертывания bin в Visual Studio недоступны для проектов библиотеки.
Я думаю, что правильная вещь - использовать NuGet
Install-Package Microsoft.AspNet.Mvc -Version 3.0.20105.1
Однако, какова наилучшая практика и есть ли какие-либо проблемы с использованием NuGet таким образом? например Должен ли я переключать все мои веб-проекты ASP.Net MVC для использования этого пакета из NuGet вместо bin, развертывающего DLL в GAC?