Vista で gac に dll を追加する方法
-
09-06-2019 - |
質問
Vista で DLL をアセンブリ フォルダーにドラッグ アンド ドロップすると、「アクセスが拒否されました:」というエラーが表示されます。mydll.dll」。エラー メッセージを回避して dll を gac に追加するにはどうすればよいですか?
解決
私の推測では、管理者としてこれを行う必要があると思います...UACを無効にするか、gacutil.exeを使用してアセンブリを追加してみてください。
他のヒント
Vista を使用しているときに、Windows フォルダーに gacutil.exe が見つからない場合があります。vistaの「ロゴプログラムなんとか」のせいで、これは含まれていません。Windows インストーラーを使用してアセンブリを gac に追加してみてください。これが推奨される方法です。
そして、この伝統的な鬼のことわざを決して忘れないでください。「ビ・シクティル・ギット・カイ・コイ」。
これは、gacutil.exe を使用して行うことができます。それは次の場所にあります。
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
ただし、.NET SDK (.Net Redistributible だけでなく) をインストールした場合にのみ存在します。ただし、開発者のマシンからコピーすることはできます。
アセンブリ (dll) を GAC に常駐させる場合は、そのアセンブリにも厳密な名前を付ける必要があります。
http://msdn.microsoft.com/en-us/library/wd40t7ad(VS.80).aspx
コマンドラインを使用して、次の手順を実行します。
Visual Studioコマンドプロンプトを開く
まず、Visual Studio コマンド プロンプトを開きます (Visual Studio 2008 の場合、パスは [プログラム] --> Visual Studio 2008 --> Visual Studio Tools --> Visual Studio 2008 Command Prompt です)。次の手順で説明するすべてのファイルが Visual Studio に作成されます。 Studio 2008 コマンド プロンプト パス。私の場合は、C:\Program Files\Microsoft Visual Studio 9.0\VC です。
- キーファイルSN -K keypair.snkを生成します
- アセンブリIldasm someassembly.dll /out:someassembly.ilのMSILを取得します
- ren someassembly.dll someassembly.dll.origの場合に備えて、元のアセンブリの名前を変更します
- MSIL OutputとKeyFile Ilasm SomeasSembly.IL /DLL /Key=Keypair.snkから新しいアセンブリを構築する
- dllをgac gacutil -i someassembly.dllにインストールします