トップ回答者
「Webに発行」の際、データベースの自動スキーマ更新に失敗する

質問
-
ASP.NET MVC や EntityFramework の更新版が来ていたのでnugetで最新にアップデートしてから、だと思うのですが、発行時の自動スキーマ更新が上記のようなメッセージを出して必ず失敗するようになってしまいました。(Visual studio express 2012 for webを使用しています)
自動スキーマ更新をさせず、Webサイトのファイルのみであれば、正常に発行が完了します。
イベントビューアではWebDeployのログを調べると、以下の様なエラーログが残されていました。
Error Code: 0 Exception Message: (2014/07/16 8:59:48) リモート コンピューターでの要求の処理中にエラーが発生しました。 Exception Stack Trace: サーバーで要求の処理時に問題が発生しました。詳細については、サーバーの管理者に問い合わせてください。 --- End of inner exception stack trace --- (2014/07/16 8:59:48) リモート コンピューターでの要求の処理中にエラーが発生しました。 場所 Microsoft.Web.Deployment.StatusThreadHandler.CheckForException() 場所 Microsoft.Web.Deployment.AgentClientProvider.RemoteDestSync(DeploymentObject sourceObject, DeploymentSyncContext syncContext, Nullable`1 syncPass, String syncSessionId) 場所 Microsoft.Web.Deployment.DeploymentObject.SyncToInternal(DeploymentObject destObject, DeploymentSyncOptions syncOptions, PayloadTable payloadTable, ContentRootTable contentRootTable, Nullable`1 syncPassId, String syncSessionId) 場所 Microsoft.Web.Deployment.DeploymentObject.SyncTo(DeploymentProviderOptions providerOptions, DeploymentBaseOptions baseOptions, DeploymentSyncOptions syncOptions)
が、このログからは私には解決の糸口をつかめませんでした。
Web Platform InstallerでAzure SDKを更新してみたり、EntityFramework tools 6.1 for VS2012を単独でインストールしたり、問題のデータベースをエクスポート後一旦削除してインポートで新規作成してみたり、と思いつく限りのことはしてみたのですが、未だ解決できていません。
現在スキーマの変更は手作業で本番環境に反映させており非常に不便です。
自動スキーマ更新が再び働くようにするには、どうしたら良いのでしょうか? Microsoft.Web.Deployment.AgentClientProvider.RemoteDestSync が例外を送出する典型的な事例などはありませんでしょうか?
- 編集済み Crestra, Inc 2014年7月16日 5:31
回答
-
一応自己解決しました。
結局、VisualStudio Express for Web関連と思われるプログラムをAzure/SQL Server関連も含めて全てアンインストールし、Web Platform Installer から VisualStudio Express 2013 for Web With Azure SDK 2.4 をインストールしたら、今までどおりスキーマの自動更新もちゃんと働くようになりました。
2012で開発していたので途中から開発環境のバージョンを上げるのは不安だったのですが、VisualStudio Express 2013 for Web は VisualStudio Express 2012 for Web で制作したソリューションファイルをなんの問題もなく開けて、スムーズに環境移行出来ました。
- 回答としてマーク Crestra, Inc 2014年8月29日 10:08
すべての返信
-
一応自己解決しました。
結局、VisualStudio Express for Web関連と思われるプログラムをAzure/SQL Server関連も含めて全てアンインストールし、Web Platform Installer から VisualStudio Express 2013 for Web With Azure SDK 2.4 をインストールしたら、今までどおりスキーマの自動更新もちゃんと働くようになりました。
2012で開発していたので途中から開発環境のバージョンを上げるのは不安だったのですが、VisualStudio Express 2013 for Web は VisualStudio Express 2012 for Web で制作したソリューションファイルをなんの問題もなく開けて、スムーズに環境移行出来ました。
- 回答としてマーク Crestra, Inc 2014年8月29日 10:08