0

尝试将我的 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

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

我认为这绝对是一个大会 GAC 问题。AppHarbor 服务器上的 GAC 缺少一些东西,因为它在我的机器上运行良好。但是我不明白的是,所有依赖项都是通过 NuGet 添加的,并且应该包含在项目中并且是自包含的。为什么这不能在另一台服务器上工作?

4

1 回答 1

0

您不应该在 AppHarbor 上使用 SQL Server CE。SQL Server CE 使用工作人员文件系统进行存储,并且不会在部署中持久保存,如果您已扩展到多个工作人员,它也不会在工作人员之间同步。请改用 SQL Server 加载项。这是一个指南

于 2012-12-23T19:01:45.123 回答