13


アセンブリ Awesome.DLL を作成した GAC について簡単な質問があります。署名した後、GAC にインストールします。

C:\MyApps\Awesome\Awesome\Awesome\bin\Release>sn -k Awesome.snk
Microsoft (R) .NET Framework Strong Name Utility  Version 4.0.30319.1 
Copyright (c) Microsoft Corporation.  All rights reserved.

Key pair written to Awesome.snk

C:\MyApps\Awesome\Awesome\Awesome\bin\Release>gacutil /i Awesome.dll 
Microsoft (R) .NET Global Assembly Cache Utility.  Version 4.0.30319.1 
Copyright (c) Microsoft Corporation.  All rights reserved.

Assembly successfully added to the cache

C:\MyApps\Awesome\Awesome\Awesome\bin\Release>gacutil /l Awesome.dll 
Microsoft (R) .NET Global Assembly Cache Utility.  Version 4.0.30319.1 
Copyright (c) Microsoft Corporation.  All rights reserved.

The Global Assembly Cache contains the following assemblies:

Number of items = 0

私の問題:

Awesome.DLL は、C:\Windows\Assemblyまたはサブ フォルダーのいずれにも見つかりません。これがC:\WINDOWS\Microsoft.NET\assembly\GAC_MSIL\原因だと思いますが、参照の追加> .NetからAwesome.DLLを表示できません。

にインストールされないのはなぜC:\Windows\Assembly\ですか? 代わりにその場所を指すにはどうすればよいですか?

4

3 に答える 3

20

アセンブリは.Net4.0アセンブリであり、.Net Frameworkバージョン4.0にはその場所に新しい個別のGACがあるため、C:\WINDOWS\Microsoft.NET\assembly\ではなくにインストールされます。C:\Windows\Assembly\にあるGACにC:\Windows\Assembly\は、.Net2.0-3.5アセンブリのみが含まれています。(.NET 4.0に新しいGACがあるのはなぜですか?を参照してください)。

VisualStudioの[参照の追加]->[。Net]にあるアセンブリのリスト。ダイアログは、GACで見つかったアセンブリの単なるリストではありません(そのリストのほとんどのエントリがGACでも見つからないことに注意してください)。

このリストにアセンブリを追加する方法については、次の記事を参照してください(具体的には、「[参照の追加]ダイアログボックスにアセンブリを表示するには」セクション)。

これに使用されるレジストリキーは、VisualStudioのバージョンによって異なることに注意してください。

于 2011-02-25T03:45:49.017 に答える
1

あなたの目標を達成するのに役立つ、完全に無料のツールを作成しました。Muse VSReferences では、[GAC 参照の追加] メニュー項目からグローバル アセンブリ キャッシュ参照をプロジェクトに追加できます。

お役に立てれば。

于 2011-06-18T13:13:47.527 に答える
0

vs2010 プロジェクト メニューでプロジェクト プロパティを確認します。これは、プロジェクトが「.NET Framework 4 Client Profile」で、アセンブリが「.NET 4 Fraemwork」であることがわかりました。解決策: プロジェクトを「.NET Framework 4」プロファイルに変更します

于 2015-09-30T11:07:16.883 に答える