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 依存関係をプロジェクトに追加しようとしましたが、まだ運がありません。欠落していたアセンブリ (それが問題である場合) がログに表示されると、何が問題なのかがわかります。
それは間違いなくAssembly GACの問題だと思います。AppHarbor サーバーの GAC は、私のマシンで正常に動作するため、何か不足しています。ただし、理解できないのは、すべての依存関係が NuGet を介して追加され、プロジェクトに含まれ、自己完結型である必要があるということです。これが別のサーバーで機能しないのはなぜですか?