web-dev-qa-db-ja.com

nugetからwebgrease 1.5.1.25624にアップグレードすると、System.IO.FileLoadExceptionが発生します

私はasp.netのデスページです。これは、webgreaseをアップグレードした後、bootstrap nugetを使用するmvc4の場合)後に表示されます。

「/」アプリケーションでのサーバーエラー。


ファイルまたはアセンブリ 'WebGrease'またはその依存関係の1つを読み込めませんでした。厳密な名前の署名を確認できませんでした。アセンブリが改ざんされているか、遅延署名されていたが、正しい秘密鍵で完全に署名されていなかった可能性があります。 (HRESULTからの例外:0x80131045)説明:現在のWeb要求の実行中に未処理の例外が発生しました。エラーの詳細と、コードのどこで発生したかについては、スタックトレースを確認してください。

例外の詳細:System.IO.FileLoadException:ファイルまたはアセンブリ 'WebGrease'またはその依存関係の1つを読み込めませんでした。厳密な名前の署名を確認できませんでした。アセンブリが改ざんされているか、遅延署名されていたが、正しい秘密鍵で完全に署名されていなかった可能性があります。 (HRESULTからの例外:0x80131045)

ソースエラー:

現在のWeb要求の実行中に未処理の例外が生成されました。例外の発生源と場所に関する情報は、以下の例外スタックトレースを使用して識別できます。

アセンブリロードトレース:次の情報は、アセンブリ 'WebGrease'をロードできなかった理由を特定するのに役立ちます。


バージョン情報:Microsoft .NET Frameworkバージョン:4.0.30319; ASP.NETバージョン:4.0.30319.18045

37

パッケージマネージャーコンソールを使用してパッケージを強制的にアンインストールする

uninstall-package -f WebGrease

次に、次のコマンドを使用して以前のバージョン1.3.0をインストールします

install-package WebGrease -Version 1.3.0

Web.configファイルを開き、ランタイムタグの下の以下の依存関係を置き換えます

<dependentAssembly>
    <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-1.3.0.0" newVersion="1.3.0.0" />
36
MSRS

次のコードをweb.configに追加する必要がありました。

    <runtime>
      <assemblyBinding xmlns="urn:schemas-Microsoft-com:asm.v1">
        <dependentAssembly>
          <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" />
          <bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" />
        </dependentAssembly>
...
8
Dunken

同じエラーが発生しました。これは、nugetがWebGrease dllを更新したが、web.configファイル(使用されたdllの特別なバージョン)を更新しなかったために発生しました。

だから私は私のweb.configの次の行を変更しました:

 <bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" />

<bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" />

DLLプロパティから取得したバージョンの数(1.6.5135.21930).

この後、すべてが正しく動作します。

5
RredCat

アセンブリの厳密な名前の署名のエラーを認識しているため、アップデートバージョンをできるだけ早くリリースするよう積極的に取り組んでいます。今のところ、nuget.orgからWebGrease 1.5.1パッケージを非公開にしました。

3
eugchi

これを試してください:上記のDLLがGACにあるかどうかを確認します。その場合、カスタムアプリのbinフォルダーに上記のDLLが存在するかどうかを確認し、存在する場合は参照から削除します。

0
GodLovesYou