实体框架提供程序类型无法加载?

我试图在当前安装在计算机上的TeamCity上运行测试。

System.InvalidOperationException

实体框架提供程序类型“ 为”

‘ADO.NET提供程序无法加载。确保提供程序程序集可用于正在运行的应用程序。System.Data.Entity.SqlServer.SqlProviderServices,

EntityFramework.SqlServer``Version=6.0.0.0, Culture=neutral,

PublicKeyToken=b77a5c561934e089'``System.Data.SqlClient

有关更多信息,请参见http://go.microsoft.com/fwlink/?LinkId=260882。

System.Data.Entity正如在Codeplex上建议的那样,在我的任何项目中都没有提及升级到EF6的内容。

因此,我不确定为什么会出现此异常。从VS运行测试时,我没有得到任何此类异常。

我确实尝试将CopyLocal设置为false,然后再次设置为true ..但这似乎也不起作用。

更新资料

我的app.config具有以下内容。这会导致某些我不理解的行为吗?

<?xml version="1.0" encoding="utf-8"?>

<configuration>

<configSections>

<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />

<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->

</configSections>

<entityFramework>

<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />

</entityFramework>

</configuration>

我在teamcity中获得以下stacktrace。

[MSTest] IntegrationTests.CrudTest+QuestionTest.Create

[03:59:11][IntegrationTests.CrudTest+QuestionTest.Create] Initialization method IntegrationTests.CrudTest+QuestionTest.Initialize threw exception. System.InvalidOperationException: System.InvalidOperationException: The Entity Framework provider type 'System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' for the 'System.Data.SqlClient' ADO.NET provider could not be loaded. Make sure the provider assembly is available to the running application. See http://go.microsoft.com/fwlink/?LinkId=260882 for more information..

[03:59:11]

[IntegrationTests.CrudTest+QuestionTest.Create] at System.Data.Entity.Config.ProviderServicesFactory.GetInstance(String providerTypeName, String providerInvariantName)

at System.Data.Entity.Config.ProviderServicesFactory.GetInstanceByConvention(String providerInvariantName)

at System.Data.Entity.Config.DefaultProviderServicesResolver.GetService(Type type, Object key)

at System.Data.Entity.Config.CachingDependencyResolver.<>c__DisplayClass1.<GetService>b__0(Tuple`2 k)

at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)

at System.Data.Entity.Config.CachingDependencyResolver.GetService(Type type, Object key)

at System.Data.Entity.Config.ResolverChain.<>c__DisplayClass3.<GetService>b__0(IDbDependencyResolver r)

at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()

at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source, Func`2 predicate)

at System.Data.Entity.Config.ResolverChain.GetService(Type type, Object key)

at System.Data.Entity.Config.RootDependencyResolver.GetService(Type type, Object key)

at System.Data.Entity.Config.ResolverChain.<>c__DisplayClass3.<GetService>b__0(IDbDependencyResolver r)

at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()

at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source, Func`2 predicate)

at System.Data.Entity.Config.ResolverChain.GetService(Type type, Object key)

at System.Data.Entity.Config.CompositeResolver`2.GetService(Type type, Object key)

at System.Data.Entity.Config.IDbDependencyResolverExtensions.GetService[T](IDbDependencyResolver resolver, Object key)

at System.Data.Entity.Config.InternalConfiguration.GetService[TService](Object key)

at System.Data.Entity.Config.DbConfiguration.GetService[TService](Object key)

at System.Data.Entity.Utilities.DbProviderFactoryExtensions.GetProviderServices(DbProviderFactory factory)

at System.Data.Entity.Infrastructure.DefaultManifestTokenService.GetProviderManifestToken(DbConnection connection)

at System.Data.Entity.Utilities.DbConnectionExtensions.GetProviderInfo(DbConnection connection, DbProviderManifest& providerManifest)

at System.Data.Entity.DbModelBuilder.Build(DbConnection providerConnection)

at System.Data.Entity.Internal.LazyInternalContext.CreateModel(LazyInternalContext internalContext)

at System.Data.Entity.Internal.RetryLazy`2.GetValue(TInput input)

at System.Data.Entity.Internal.LazyInternalContext.InitializeContext()

at System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType)

at System.Data.Entity.Internal.Linq.InternalSet`1.Initialize()

at System.Data.Entity.Internal.Linq.InternalSet`1.get_InternalContext()

at System.Data.Entity.Internal.Linq.InternalSet`1.ActOnSet(Action action, EntityState newState, Object entity, String methodName)

at System.Data.Entity.Internal.Linq.InternalSet`1.Add(Object entity)

at System.Data.Entity.DbSet`1.Add(TEntity entity)

at EFRepository.Infrastructure.EFRepository`1.Add(T item) in c:\TeamCity\buildAgent\work\da2ea4e72c0e77f0\Repository\Infrastructure\EFRepository.cs:line 22

at IntegrationTests.CrudTest.Initialize() in c:\TeamCity\buildAgent\work\da2ea4e72c0e77f0\IntegrationTests\CrudTest.cs:line 34

回答:

同样的问题,但是我通过Nuget安装了EF

6。缺少另一个可执行文件的EntityFramework.SqlServer。我只是将nuget包添加到了该项目。

以上是 实体框架提供程序类型无法加载? 的全部内容, 来源链接: utcz.com/qa/405408.html

回到顶部