8

NuGet を使用して取り込んだ asp.net Web サイトで、いくつかのライブラリを使用しようとしています。

問題は、このエラーが発生していることです:

Could not load file or assembly 'AWSSDK, Version=1.5.9.1, Culture=neutral, PublicKeyToken=cd2d24cd2bace800' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

私が使用しようとしているライブラリの 1 つは、AWSSDK を使用する必要がありますが、取得できない古いバージョンを探しているようです。

このエラーを無視することはできますか?

これはまったく新しい Web サイトで、まだコードは含まれていません。NuGet によって取り込まれたものだけで、web.config は空です。

編集:

Fusion ロギングを追加したところ、次のようになりました。

=== Pre-bind state information ===
LOG: User = WIN-FSSH1EIG4NE\Max
LOG: DisplayName = AWSSDK, Version=1.5.9.1, Culture=neutral, PublicKeyToken=cd2d24cd2bace800
 (Fully-specified)
LOG: Appbase = file:///C:/Users/Max/Documents/Visual Studio 2010/WebSites/images.RepZio/
LOG: Initial PrivatePath = C:\Users\Max\Documents\Visual Studio 2010\WebSites\images.RepZio\bin
Calling assembly : ImageResizer.Plugins.S3Reader, Version=3.3.2.447, Culture=neutral, PublicKeyToken=null.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\Users\Max\Documents\Visual Studio 2010\WebSites\images\web.config
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v2.0.50727\config\machine.config.
LOG: Post-policy reference: AWSSDK, Version=1.5.9.1, Culture=neutral, PublicKeyToken=cd2d24cd2bace800
LOG: Attempting download of new URL file:///C:/Users/Max/AppData/Local/Temp/Temporary ASP.NET Files/root/8dcd52e9/53da58e/AWSSDK.DLL.
LOG: Attempting download of new URL file:///C:/Users/Max/AppData/Local/Temp/Temporary ASP.NET Files/root/8dcd52e9/53da58e/AWSSDK/AWSSDK.DLL.
LOG: Attempting download of new URL file:///C:/Users/Max/Documents/Visual Studio 2010/WebSites/images/bin/AWSSDK.DLL.
WRN: Comparing the assembly name resulted in the mismatch: Revision Number
ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated.

以下のコメントに記載されているように bindingRedirect を追加すると、同じエラーが発生します。

4

2 に答える 2

7

最新 (1.5.13.0) の AWSSDK リリースは、以前のリリースとは異なるキーで署名されているようです。残念ながら bindingRedirect は機能しません。

次のように進めます。

パッケージ マネージャー コンソールを開き ([ツール] > [ライブラリ パッケージ マネージャー] > [パッケージ マネージャー コンソール])、次のように入力します。

PM> Uninstall-Package -Force AWSSDK

に続く:

PM> Install-Package AWSSDK -Version 1.5.12.1

次に、web.config ファイルを再確認します。AWSSDK の次のバインディング リダイレクトのみが含まれていることを確認します。

<dependentAssembly>
    <assemblyIdentity name="AWSSDK" publicKeyToken="cd2d24cd2bace800" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-1.5.12.1" newVersion="1.5.12.1" />
</dependentAssembly>

これで、プロジェクトは順調に進むはずです。

于 2013-02-18T23:26:36.977 に答える
0

.csproj ファイルを編集して、アセンブリ awssdk が参照されている行から Version=1.5.9.1 を削除してみてください。

于 2013-02-17T13:07:31.260 に答える