web-dev-qa-db-ja.com

System.Data.SqlClientバージョン4.4.3を使用すると、ファイルまたはアセンブリSystem.Data.SqlClient、Version = 4.2.0.2をロードできませんでした

ASP.NET Core 2.0プロジェクトのすべての.NET Standard 2.0クラスライブラリにSystem.Data.SqlClientバージョン4.4.3を使用しています。どうして

ファイルまたはアセンブリ 'System.Data.SqlClient、Version = 4.2.0.2、Culture = neutral、PublicKeyToken = b03f5f7f11d50a3a'をロードできませんでした。検出されたアセンブリのマニフェスト定義は、アセンブリ参照と一致しません。 (HRESULTからの例外:0x80131040)

プロジェクトがVSTSでAzure App Serviceに公開されるときそしてもちろん、それは私のマシンで完璧に動作します!

これはすべて昨日うまくいきました。しかし、今日、パッケージを次のように更新することにしました。

<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.6" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.0.3" />
12
alvipeo

にダウングレード

<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.6" />

そしてすべてが再び機能します!今日4時間を失った!!!

4
alvipeo

これが私が直面したのと同じ状況かどうかわからない。 nuGetを介してSystem.Data.SqlClientを追加しましたが、正常に機能しました。

22
Watz

今日、これと同様の問題がありました。Allメタパッケージを含む多くのパッケージを2.0.6に更新しました。この場合、上記のエラーを引用しても私のアプリは機能しません。多くの調査の後、私は次のことをしました、そして、それは今働いているようです。

FTPを使用してAzure Webサイトに接続し、サイト-> wwwrootフォルダーに移動します。ここには、「refs」というフォルダーと「runtimes」というフォルダーがありました。 (ローカルバックアップを取得した後)これらのフォルダーの両方を削除し、アプリを再公開しました。

なぜそれが機能したのかはわかりませんが、これが役に立つかもしれないと思いました。

0
Adam Stapleton

これは、一部の依存アセンブリが同じライブラリの古いバージョンを使用している場合に発生します。これを解決するには、 Assembly redirecting を使用して、古いライブラリに新しいバージョンを使用するようにします。

これをapp.configまたはasp.netの場合はweb.configに配置します

<dependentAssembly>  
    <assemblyIdentity name="System.Data.SqlClient"  publicKeyToken="b03f5f7f11d50a3a"  culture="neutral" />  
    <bindingRedirect oldVersion="4.2.0.2" newVersion="4.4.3.0" />  
</dependentAssembly>  
0
Davit Tvildiani

私にとって、ソリューションはSystem.Data.SqlClientパッケージを削除して、再度インストールすることでした。パッケージのアップグレードを行うだけでは不十分でした。

0
IronRod