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

高低を検索し、「LocalCopy」を有効にして必要な SQLCe 依存関係をプロジェクトに追加しようとしましたが、まだ運がありません。欠落していたアセンブリ (それが問題である場合) がログに表示されると、何が問題なのかがわかります。

それは間違いなくAssembly GACの問題だと思います。AppHarbor サーバーの GAC は、私のマシンで正常に動作するため、何か不足しています。ただし、理解できないのは、すべての依存関係が NuGet を介して追加され、プロジェクトに含まれ、自己完結型である必要があるということです。これが別のサーバーで機能しないのはなぜですか?

4

1 に答える 1

0

AppHarbor では SQL Server CE を使用しないでください。SQL Server CE はストレージにワーカー ファイル システムを使用しますが、これはデプロイ間で保持されず、複数のワーカーにスケーリングした場合はワーカー間で同期されません。代わりに SQL Server アドオンを使用してください。ここにガイドがあります。

于 2012-12-23T19:01:45.123 に答える