したがって、MVCをVisual Studioにインストールすると、MVCdllがGACに配置されます。したがって、プロジェクトをビルドできるようにするために、プロジェクトのファイルシステムに存在する必要はありません。
これをライブおよび継続的インテグレーションサーバーにデプロイする場合、MVCとRazorに必要な依存関係はバージョン管理されていません。マイクロソフトがこれを非常に複雑にした理由は、私を超えています。
私は私ができるすべてを自動化するためのものなので、不足しているdllの問題を解決するための最良の方法は何であるか疑問に思っています。
ここで、ASP.Net MVCプロジェクトについて、PhilHaackのhttp://haacked.com/archive/2011/05/25/bin-deploying-asp-net-mvc-3.aspxで説明されているようにbinデプロイメントを使用してこれを解決しました。ブログ。これは正常に機能しますが、ビルドサーバーでコンパイルされないSystem.Web.Mvcを参照するライブラリプロジェクトがいくつかあり、VisualStudioのbinデプロイオプションはライブラリプロジェクトでは使用できません。
正しいことはNuGetを使用することだと思います
Install-Package Microsoft.AspNet.Mvc -Version 3.0.20105.1
ただし、ベストプラクティスは何であり、このようにNuGetを使用する際の落とし穴はありますか?たとえば、すべてのASP.Net MVC Webプロジェクトを切り替えて、GACにdllをbinデプロイする代わりに、NuGetからこのパッケージを利用する必要がありますか?