私は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
パッケージマネージャーコンソールを使用してパッケージを強制的にアンインストールする
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" />
次のコードを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>
...
同じエラーが発生しました。これは、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).
この後、すべてが正しく動作します。
アセンブリの厳密な名前の署名のエラーを認識しているため、アップデートバージョンをできるだけ早くリリースするよう積極的に取り組んでいます。今のところ、nuget.orgからWebGrease 1.5.1パッケージを非公開にしました。
これを試してください:上記のDLLがGACにあるかどうかを確認します。その場合、カスタムアプリのbinフォルダーに上記のDLLが存在するかどうかを確認し、存在する場合は参照から削除します。