Asp.Net MVCアプリケーションをローカルで実行すると、すべてが正常に実行されますが、アプリケーションがサーバーにデプロイされると、このエラーが発生します。
Could not load file or Assembly 'WebGrease, Version=1.5.1.25624, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located Assembly's manifest definition does not match the Assembly reference. (Exception from HRESULT: 0x80131040)
最近、WebGreaseを利用するNuGetを通じてSystem.Web.Optimization
フレームワークを追加しました。
参照を確認すると、WebGreaseの私のバージョンは1.5.2.14234で、見つからないという不満のあるバージョン-1.5.1.25624よりも高いです。
ルートWeb構成内で、ランタイムタグの下に次のものがあります。
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" />
</dependentAssembly>
サーバーのbinフォルダー内でWebGrease.dllを確認すると、WebGreaseのバージョンDLLは1.5.2.14234です。他のバージョン1.5.1.25624を必要としている人は誰ですか?解決できますか?
どうもありがとう!
これは、サーバー上の実際のルートWeb構成に含まれるdependentAssembly
タグが正しくないという、私たちの終わりからの誤りでした。
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.3.0.0" newVersion="1.3.0.0" />
</dependentAssembly>
ではなく:
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" />
</dependentAssembly>
したがって、なぜエラーが発行されていたのでしょう!
私のプロジェクトでも同じエラーが発生しました。問題を引き起こしていたbinディレクトリにいくつかの「XYZ-Copy.dll」があったことがわかりました。すべてのXYZ-copy.dllファイルを削除し、機能しました。
Nugetから最新バージョンをインストールしてみました。
install-package WebGrease
アプリケーションを2回再構築すると、エラーはなくなりました。
それが誰かを助けることを願っています!
私はC:\ WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET \のすべてを削除しました...フレームワーク4を使用している場合はC:\ Windows\Microsoft.NET\Framework\v4を試してください。 0.30319\Temporary ASP.NET Files \
これは
1)パッケージマネージャーコンソールの実行
2)コンソールで、「Install-Package Microsoft.AspNet.Web.Optimization」と入力します
正しくない依存関係をすべて解決し、プロジェクトに Microsoft.AspNet.Web.Optimization を追加しました