2012-09-12 24 views
10

MVCをVisual Studioにインストールすると、MVC dllがGACに格納されます。したがって、プロジェクトの構築を可能にするために、プロジェクトのファイルシステム内にいる必要はありません。ASP.Net MVCとの継続的な統合

ライブと継続的インテグレーションサーバーにこれをデプロイすると、MVCとRazorに必要な依存関係はバージョン管理に含まれません。マイクロソフトがこれを非常に複雑にした理由は、私の外にあります。

私はできることすべてを自動化するための1つで、欠落しているDLLの問題を解決する最善の方法は何か不思議です。

ASP.Net MVCプロジェクトの場合、Phil Haackのブログのhttp://haacked.com/archive/2011/05/25/bin-deploying-asp-net-mvc-3.aspxに記載されているように、私はこれをbin配備で解決しました。これは正常に動作しますが、ビルドサーバーでコンパイルされないSystem.Web.Mvcを参照するライブラリプロジェクトもいくつかあり、Visual Studioのbin展開オプションはライブラリプロジェクトでは使用できません。

私が行うには正しい事はしかし、この方法でNuGetを使用する任意の落とし穴は何がされているベストプラクティスですとNuGet

Install-Package Microsoft.AspNet.Mvc -Version 3.0.20105.1 

を使用していると思いますか?例えば私はすべてのASP.Net MVC Webプロジェクトを切り替えて、GACにDLLを展開するbinの代わりにNuGetからこのパッケージを利用するべきですか?

答えて

8

私たちはMVC 4プロジェクトで同様のことをしました。

NuGetを使用してMVCをインストールした後、プロジェクトで.nugetフォルダをリポジトリにコミットしてパッケージ復元を有効にしました。プロジェクトがビルドサーバー上に構築されている場合、それらは自動的にbinディレクトリに含まれている展開するときhttp://blog.davidebbo.com/2011/08/easy-way-to-set-up-nuget-to-restore.html

Install-Package Microsoft.AspNet.Mvc 
Install-Package NuGetPowerTools 
Enable-PackageRestore 

、不足しているパッケージは、nugetからダウンロードされています。

bin deployメソッドを使用し、必要なアセンブリをリポジトリにコミットするのではなく、あなたのアプローチが正しいと言います。

関連する問題