最初のMVC 4プロジェクトを作成し、ローカルサーバーで完全に動作します。しかし、ローカルフォルダーに公開し、フォルダーの内容をホスティングサーバーにアップロードするとき。私はそれを実行しようとすると、このエラーが発生します:
ファイルまたはアセンブリ「DotNetOpenAuth.Core、Version = 4.0.0.0、Culture = neutral、PublicKeyToken = 2780ccd10d57b246」またはその依存関係の1つをロードできませんでした。システムは、指定されたファイルを見つけることができません。誰でも私を助けてくれますか?
Web.config:
<assemblyBinding xmlns="urn:schemas-Microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="DotNetOpenAuth.Core" publicKeyToken="2780ccd10d57b246" />
<bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="DotNetOpenAuth.AspNet" publicKeyToken="2780ccd10d57b246" />
<bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-1.3.0.0" newVersion="1.3.0.0" />
</dependentAssembly>
</assemblyBinding>
P.S Web Formsの同じプロジェクトは、ホスティングサーバーで動作します。
ついに答えを見つけた!! [参照]に移動->問題の原因となっているdllファイルを右クリック->プロパティを選択->バージョンを確認->プロパティのバージョンをWeb設定に一致
<dependentAssembly>
<assemblyIdentity name="YourDllFile" publicKeyToken="2780ccd10d57b246" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-YourDllFileVersion" newVersion="YourDllFileVersion" />
</dependentAssembly>
ソリューションに、相互に対話し、両方が同じ参照を使用する2つのプロジェクトが含まれている場合、およびそれぞれの参照のバージョンが両方のプロジェクトで異なる場合。その後、そのようなエラーも発生しました。すべての参照を最新のものに更新してください。
次のdllファイルをbinフォルダーに追加します。
DotNetOpenAuth.AspNet.dll
DotNetOpenAuth.Core.dll
DotNetOpenAuth.OAuth.Consumer.dll
DotNetOpenAuth.OAuth.dll
DotNetOpenAuth.OpenId.dll
DotNetOpenAuth.OpenId.RelyingParty.dll
不要な場合は、「DotNetOpenAuth.Core」などの名前の設定からdependentAssemblies
を削除してください。
これを試して:
true
を設定します...同じ問題が発生したときに私のために働いた。
プロジェクトでHRESULT:0x80131040エラーが使用されているか、プロジェクトで参照されているかどうかを確認します。 「はい」の場合、これらのプロジェクトに類似した.dllが参照されており、バージョンが同じであるかどうかを確認してください。それらが同じバージョン番号ではない場合、それは前述のエラーを引き起こしています。