AppHarbor错误 - 无法找到请求的.Net Framework数据提供程序。它可能没有安装

时间:2012-12-23 18:54:41

标签: sql-server-ce gac appharbor

尝试将我的ASP.NET MVC项目部署到AppHarbor时出现上述错误: 这是堆栈跟踪:

[ArgumentException: Unable to find the requested .Net Framework Data Provider.  It may not be installed.]
   System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName) +77
   System.Data.Entity.Infrastructure.SqlCeConnectionFactory.CreateConnection(String nameOrConnectionString) +56
   System.Data.Entity.Internal.LazyInternalConnection.Initialize() +309
   System.Data.Entity.Internal.LazyInternalConnection.get_ProviderName() +13
   System.Data.Entity.Internal.LazyInternalContext.InitializeContext() +330
   System.Data.Entity.Internal.LazyInternalContext.MarkDatabaseInitialized() +16
   System.Data.Entity.Database.Initialize(Boolean force) +24
   TolMobile.Data.Context.TolTestDbContext.InitialiseDatabase(IDatabaseInitializer`1 strategy) in d:\temp\wepseqgv.iiu\input\TolMobile.Data\Context\TolTestDbContext.cs:21
   TolMobile.MvcApplication.Application_Start() in d:\temp\wepseqgv.iiu\input\TolMobile\Global.asax.cs:63

我搜索了高低,并试图在启用“LocalCopy”的情况下将所需的SQLCe依赖项添加到我的项目中,但仍然没有运气。如果丢失的程序集(如果这是问题)将显示在日志中,那么我会知道错误。

我认为这肯定是大会GAC问题。 AppHarbor服务器上的GAC缺少一些东西,因为它在我的机器上运行良好。然而,我不明白的是,所有依赖项都是通过NuGet添加的,并且应该包含在项目中并且是自包含的。为什么这不适用于其他服务器?

1 个答案:

答案 0 :(得分:0)

您不应在AppHarbor上使用SQL Server CE。 SQL Server CE使用工作文件系统进行存储,并且不会跨部署持久存储,如果您扩展到多个工作程序,它们也不会在工作程序之间同步。请改用SQL Server加载项。这是一个guide