Getting the above error when try to deploy my ASP.NET MVC project to AppHarbor: This is the stack trace:
[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
I've searched high and low and tried to add the required SQLCe dependencies to my project with 'LocalCopy' enabled but still no luck. Would be nice if the assembly that was missing (if that is the problem) would show in the log so I know what is wrong.
I think it is definitely an Assembly GAC problem. The GAC on the AppHarbor server is missing something because it runs fine on my machine. What I don't understand however, is that all dependencies are added via NuGet and should be included in the project and be self-contained. Why would this not work on another server?