Windows Azure で LoB Silverlight 5 アプリを実行しています。私は EF4 と RIA Services を使用してそのアプリを開発しました。モデルを .NET 4 に維持したまま、最新の RIA サービスを使用して EF5 に更新することにしました。
短い話:
EF5 と RIA Services 4.2 に更新した後、アプリはエミュレーターでローカルに動作しますが、Azure ではクラッシュします。
長い話:
アプリは、クライアント、サーバー ( を含むDbContext
)、モデル (edmx
ファイルを含む)、ヘルパーの 4 つのプロジェクトに分かれています。
更新することにしたとき、モデル プロジェクトから始めました。古い参照を削除し、 を削除edmx
し、新しい参照 (ナゲット) を追加し、新しい を生成しましedmx
た。正しくビルドされます。
次に、サーバー プロジェクト: 古い参照を削除し、新しい参照 (nuget) を追加し、ドメイン サービス ファイルを変更しDbContext
て、EF5 で動作するように編集しました。ビルドし、アプリはローカルで動作しました (Azure エミュレーターはありません)。
Azureエミュレーターでテストしたとき、応答は501でした。どこかで見つけました(もう一度見つけたときにリンクを投稿します)解決策は、Entity Frameworkを参照するファイルapp.config
に同じruntime/assemblyBinding/dependentAssembly/assemblyIdentity
セクションを含むファイルを追加することです。web.config
次に、Azure のステージング環境にアップロードすると、プロセス WaBootstrapper が循環し続け、WaIISHost がクラッシュし続けている間、サーバー コードをインストールしようとしました。
私が試したこと:
- 名前を app.config に変更して、サーバー アセンブリ dll に移動します。例:
AppName.Web.dll.config
- 削除
System.Data.Entity
(まったくビルドしないでください.. その dll が必要です); - を取り除くために .NET 4.5 に移行します
System.Data.Entity
。 - すべてのプロジェクトのすべての参照と「ローカルにコピー」オプションをチェックします。
- Entity Framework 6 (RC1) に移行する.. 試しているだけです.. 私はそれを非難することはできません。
- (私が覚えていない他のもの)。
上記のリストのいずれも結果を変更していません。私はこれに 1 週間以上費やしましたが、今では集中力を失ったと思います..だから、あなたの助けを求めています。あなたたちは、何度も私を救ってくれました。インターネットと StackOverflow が登場する前はどうだったか思い出せません。
ありがとう.. どんな助けでも大歓迎です!
PS 著者による編集言い忘れましたが、Windows Azure SDK も 1.7 から 2.1 に更新しました。