1

GAC でアセンブリを参照せずに Visual Studio で開発することは可能ですか (コア .Net フレームワークを除く)? アプリケーションに純粋なローカル アセンブリを使用できるかどうかを尋ねていると思います。

私たちの buildserver/live/test 環境には、.Net フレームワーク以外は何もインストールされていません。MVC/Entity Framework などの参照アセンブリはすべて、NuGet パッケージ アーカイブとして含まれています。Visual Studio が正常に動作するには、開発マシンに MVC をインストールする必要があります。これの問題は、開発マシンは通常、GAC で必要なものを見つけるため、ビルドサーバーにプッシュされるまで、特定の依存関係を解決する際に問題が発生するかどうかを判断する方法がないことです。また、ビルドサーバーが使用したパッケージの一部として、プロジェクトによって新しいバージョンの正しいバージョンが参照されていたにもかかわらず、開発マシンの GAC でアセンブリの古いバージョンの正しくないバージョンが見つかったというシナリオもありました。

4

2 に答える 2

1

いつでも「Libs」フォルダーを他のフォルダーと一緒に追加して、すべての Dll をそのフォルダーに保存できます。また、参照が GAC ではなく、そのフォルダーと dll を指していることを確認してください。

これは基本的に、プロジェクトからすべての参照を削除し、それらを特定の場所に手動で再度追加することを意味します。

次にできることは、ソース管理でこれらの dll を追跡することです。このようにして、それらすべてがビルド サーバーにプッシュされます。

于 2012-09-11T09:58:27.647 に答える
0

解決策は2ステップでした。

  1. AssembleyFoldersExレジストリキーの下のパスを削除します(または存在しないものに名前を変更します)。だから私のWin764ビットマシンでは次のようになりました

    HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft.NETFramework \ v4.0.30319 \ AssemblyFoldersEx \ ASP.NET MVC4(およびWebページ)

  2. GACからアセンブリを削除します。私のシナリオでは、これはsystem.web.mvcと関連するアセンブリであり、基本的には

    C:\ Program Files(x86)\ Microsoft ASP.NET \ ASP.NET MVC 4(およびWebページ)

これを行うには、こちらの手順に従ってください

http://dylanbeattie.blogspot.co.uk/2008/11/working-on-aspnet-mvc-beta-and-preview.html

基本的に、プロジェクトファイルで指定された場所で解決できないアセンブリ(つまり、NuGetパッケージの名前が正しくない場合)は、ビルドサーバーと同じようにビルドを失敗させます。MVCテンプレートは引き続きVisualStudioで機能します

于 2012-09-13T09:33:01.457 に答える