4

グローバル アセンブリ キャッシュ (GAC) に関して、システムに奇妙な動作があることに気付きました。私が興味を持っているアセンブリは log4net Version= 1.2.11.0 です

の出力gacutil /l "log4net"は次のとおりです。

C:\Windows\system32>gacutil /l "log4net" Microsoft (R) .NET グローバル アセンブリ キャッシュ ユーティリティ。バージョン 4.0.30319.1 Copyright (c) Microsoft Corporation. 全著作権所有。

グローバル アセンブリ キャッシュには次のアセンブリが含まれています:
log4net、Version=1.2.10.0、Culture
=neutral、PublicKeyToken=1b44e1d426115821、processorArchitecture=MSIL

アイテム数 = 2

ただし、エクスプローラー シェル (再起動の前後) を使用して GAC を表示すると、1 つのバージョンしか表示されません。

ここに画像の説明を入力

これは、アプリケーションがアセンブリを解決できないという事実によって悪化しますが、アプリケーション ベース(bin フォルダー) に配置すると正常に動作します。この記事によると、GAC はアプリケーション ベースのにプローブされます。これは、アセンブリが GAC にないことを示します。

それでlog4net Version=1.2.11.0、GACにいますか?もしそうなら、なぜ私のアプリケーションはそれを見つけられないのですか?

4

1 に答える 1

6

.NET 2.0 GAC を見ていますが、log4net v1.2.11.0 は .NET 4 アセンブリです。.NET 4 には、.NET にある独自の GAC があり%winddir%\Microsoft.NET\Assemblyます。そこにある GAC_MSIL ディレクトリを確認してください。きっと見つかるはずです。

于 2013-01-23T14:59:06.380 に答える