web-dev-qa-db-ja.com

GACにインストールされたアセンブリがVisual Studioに表示されない

これは この質問 に関連しているように聞こえますが、同じものではありません。その質問にはnoアセンブリが表示されていました。私がインストールした特定のものを除いて、私のものはすべて持っています。

私は誰かがこれに対する解決策を持っていることを望んでいます...私は何か間違ったことをしていますか?または、VSでバグを見つけましたか?

Windows 7 UltimateでVisual Studio 2010 Professional Beta 2を使用しています。 Rhino Mocksをダウンロードし、コマンドラインユーティリティGACUTILを使用してGACにインストールすることにしました。その後、再起動しました。

ここに私のGACのアセンブリが表示されます(クリックして拡大)。

alt text

そして、これがVisual Studioで私が利用できるアセンブリのリストです:

alt text

インストールして確認したコマンドプロンプトは次のとおりです。

C:\Users\jason\Downloads>gacutil -i Rhino.Mocks.dll
Microsoft (R) .NET Global Assembly Cache Utility.  Version 4.0.21006.1
Copyright (c) Microsoft Corporation.  All rights reserved.

Assembly successfully added to the cache

C:\Users\jason\Downloads>gacutil /l |grep -i rhino
Rhino.Mocks, Version=3.6.0.0, Culture=neutral, PublicKeyToken=0b3305902db7183f, processorArchitecture=MSIL
29
Amy

Visual Studioは、GACのすべての項目を一覧表示することはありません。特定のレジストリキーに記載されている項目のみを一覧表示します。

詳細については、このナレッジベースの記事を参照してください。 [参照の追加]ダイアログボックスでアセンブリを表示する方法

ディスク上のアセンブリを参照することで、いつでもアセンブリへの参照を追加できます。

39
Eilon

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

16
BALKANGraph

Visual Studioの[参照の追加]ダイアログはGACから独立しています。アセンブリを探すフォルダーは、実際にはAssemblyFoldersレジストリキーによって制御されます。 GACに表示されるすべてが参照の追加に表示されるわけではありません(逆に、参照の追加にすべてがGACにあるわけではありません)。

Rhino Mocks DLLへの参照を追加するには、[参照]タブに移動し、Rhino Mocksをインストール/解凍/構築した場所に移動し、そこからDLLを選択します。

5
itowlson

承認された回答ではこれを解決できませんでした。 方法に従って手順がわずかに変更されました。方法:[参照の追加]ダイアログボックスを使用して参照を追加または削除

32ビットオペレーティングシステムの場合、次のレジストリキーのいずれかを追加します。

  • [HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework \VersionMinimum\ AssemblyFoldersEx\MyAssemblies] @ = "AssemblyLocation"
  • [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework \VersionMinimum\ AssemblyFoldersEx\MyAssemblies] @ = "AssemblyLocation"

64ビットオペレーティングシステムの場合、32ビットレジストリハイブに次のレジストリキーのいずれかを追加します。

  • [HKEY_CURRENT_USER\SOFTWARE\Wow6432Node\Microsoft\.NETFramework \VersionMinimum\ AssemblyFoldersEx\MyAssemblies] @ = "AssemblyLocation"
  • [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework \VersionMinimum\ AssemblyFoldersEx\MyAssemblies] @ = "AssemblyLocation"

VersionMinimumは、適用される最も低い.NET Frameworkバージョンです。 VersionMinimumがv3.0の場合、AssemblyFoldersExで指定されたフォルダーは、.NET Framework 3.0以降を対象とするプロジェクトに適用されます。

AssemblyLocationは、Add Referenceダイアログボックスに表示するアセンブリのディレクトリです。例:C:\ MyAssemblies。

HKEY_LOCAL_MACHINEノードの下にレジストリキーを作成すると、すべてのユーザーがAdd Referenceダイアログボックスの指定された場所にあるアセンブリを表示できます。 HKEY_CURRENT_USERノードの下にレジストリキーを作成すると、現在のユーザーの設定にのみ影響します。

[参照の追加]ダイアログボックスを再度開きます。アセンブリは。NETタブに表示されます。そうでない場合は、アセンブリが指定されたAssemblyLocationディレクトリにあることを確認し、Visual Studioを再起動して、再試行してください。

テスト済みで、Windows 10上のVisual Studio 2017 Enterpriseで動作します

0
bdimag

NuGetからWebFormsとWinFormsの両方のReport Viewer DLLをインストールできます。

nuget> Install-Package Microsoft.ReportViewer
0
Josh M.