2017-10-18 14 views
4

Donc ma solution compile mais quand je l'exécute, j'obtiens une erreur dans la bibliothèque de classes qui exécute .NET 4.6.1.Incompatibilité dans le versionnement d'assembly? (.Net Core 2.0 avec la bibliothèque de classe .NET Standard 2)

System.TypeLoadException: 'Could not load type 'System.Data.Common.DbProviderFactories' from assembly 'System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.

Des suggestions?

EDIT:

erreur complète:

$exception {System.TypeLoadException: Could not load type 'System.Data.Common.DbProviderFactories' from assembly 'System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. at System.Data.Entity.Infrastructure.DependencyResolution.DefaultProviderFactoryResolver.GetService(Type type, Object key, Func 3 handleFailedLookup) at System.Data.Entity.Infrastructure.DependencyResolution.DefaultProviderFactoryResolver.GetServices(Type type, Object key) at System.Collections.Concurrent.ConcurrentDictionary 2.GetOrAdd(TKey key, Func 2 valueFactory) at System.Linq.Enumerable.SelectManySingleSelectorIterator 2.MoveNext() at System.Linq.Enumerable.ConcatIterator 1.MoveNext() at System.Linq.Enumerable.SelectManySingleSelectorIterator 2.MoveNext() at System.Linq.Enumerable.ConcatIterator 1.MoveNext() at System.Linq.Enumerable.<OfTypeIterator>d__32 1.MoveNext() at System.Collections.Generic.List 1.AddEnumerable(IEnumerable 1 enumerable) at System.Linq.Enumerable.ToList[TSource](IEnumerable 1 source) at System.Data.Entity.Infrastructure.DependencyResolution.InternalConfiguration.Lock() at System.Data.Entity.Infrastructure.DependencyResolution.DbConfigurationManager.<.ctor>b__1() at System.Lazy 1.ViaFactory(LazyThreadSafetyMode mode) at System.Lazy 1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor) at System.Lazy 1.CreateValue() at System.Data.Entity.Infrastructure.DependencyResolution.DbConfigurationManager.GetConfiguration() at System.Data.Entity.DbContext.InitializeLazyInternalContext(IInternalConnection internalConnection, DbCompiledModel model) at X.Y.ConfigurationModule.ConfigurationContainer..ctor(String nameOrConnectionString)} System.TypeLoadException

+1

Faites-vous référence à System.Data.Common.DbProviderFactories? –

Répondre

1

Vous voyez ce type d'erreurs lorsque l'ensemble que vous utilisez est différent de l'ensemble de référence.

Exemple

Dans cette condition, vous voyez cette erreur, car première en utilisant la version 3 et d'autres en utilisant 2

enter image description here

Version Problem

S'il vous plaît faire ces vérifications

1:Open references right click on System.Data.Common.DbProviderFactories assembly and check its version

2:Now open you package config or app config file and check the version of that assembly there.

Solution

Si les versions de conflit s'il vous plaît installer la bibliothèque de

https://www.nuget.org/packages/System.Data.Common/

Ensuite, allez dans le dossier bin supprimer le dll 'System.Data.Common.DbProviderFactories' supprimer également des références de votre projet, puis cliquez sur ajouter des références aller dans le dossier des paquets, car la dernière bibliothèque que vous avez téléchargée va dans ce dossier, il suffit d'ajouter une référence. Maintenant, faites un clic droit sur cet assemblage et copiez le nom de la version et collez cette version dans votre fichier de configuration appconfig ou packages.

+0

Merci pour la réponse. Je n'ai référencé aucun assembly explicitement. J'ai essayé d'obtenir System.Data.Common de Nuget mais avoir essayé les différentes versions dans le paquet de nuget n'a pas aidé. Il semble que peu importe ce que j'essaie l'erreur msg reste le même. Il fait référence à la version 4.0.0.0 qui n'a jamais été une version utilisée. L'erreur peut-être avec System.Data et pas System.Data.Common, alors 4.0.0.0 aurait plus de sens. –

+0

Alors êtes-vous toujours confronté au même problème? –

+0

Oui, le problème reste le même. L'erreur dit: "de l'assembly System.Data" alors peut-être qu'il n'y avait jamais rien de mal avec System.Data.Common? –