web-dev-qa-db-fra.com

Impossible de charger le fichier ou l'assembly System.Data.SqlClient, version = 4.2.0.2 lorsque j'utilise System.Data.SqlClient version 4.4.3

J'utilise System.Data.SqlClient version 4.4.3 pour toutes les bibliothèques de classes .NET Standard 2.0 de mon projet ASP.NET Core 2.0. Pourquoi je reçois 

Impossible de charger le fichier ou l'assembly 'System.Data.SqlClient, Version = 4.2.0.2, Culture = neutre, PublicKeyToken = b03f5f7f11d50a3a'. La définition du manifeste de l'Assemblée localisée ne correspond pas à la référence de l'Assemblée. (Exception de HRESULT: 0x80131040) 

lorsque le projet est publié avec VSTS sur Azure App Service? Et bien sûr, cela fonctionne parfaitement sur ma machine!

Tout cela a fonctionné hier. Mais aujourd'hui, j'ai décidé de mettre à jour les paquets pour:

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

Déclassée à 

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

et tout fonctionne à nouveau! Perdu 4 heures aujourd'hui !!!

2
alvipeo

Je ne sais pas s'il s'agit de la même situation que celle à laquelle j'ai été confronté …….

7
Watz

J'ai eu un problème similaire à celui d'aujourd'hui, j'ai mis à jour un certain nombre de paquets, y compris le méta-paquet Tous à 2.0.6. Mon application ne fonctionnerait alors pas en citant l'erreur ci-dessus. Après beaucoup d’enquêtes, j’ai fait ce qui suit et cela semble maintenant fonctionner.

Connectez-vous au site Web Azure via FTP, accédez au dossier du site -> wwwroot. Ici, j'avais un dossier appelé "refs" et un autre appelé "runtimes". J'ai supprimé ces deux dossiers (après une sauvegarde locale), republié mon application et cela a fonctionné!

Je ne sais pas pourquoi cela a fonctionné, mais j’ai pensé que cela pourrait être utile, c’est un problème qui tombe.

0
Adam Stapleton

Cela se produit quand un assemblage dépendant utilise l'ancienne version de la même bibliothèque . Pour résoudre ce problème, vous pouvez utiliser Assembly Redirecting , pour forcer l'ancienne bibliothèque à utiliser la nouvelle version.

mettez ceci dans votre app.config ou dans web.config dans le cas d'asp.net

<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

Pour moi, la solution consistait à supprimer le package System.Data.SqlClient et à l'installer à nouveau. Faire la mise à jour du paquet n'était pas suffisant.

0
IronRod