5

Azureにデプロイした後、サーバーエラーが発生し続けました。アプリケーションは実行されませんでした。そこで、インスタンスにリモートデスクトップをインストールしたところ、web.configが完全にオーバーホールされていることがわかりました...何が起こっているのでしょうか。web.configはそのままパッケージ化されていると思いましたか?代わりに、構成全体が置き換えられました。「新しい」バージョンを元の変更されていない正しい構成に置き換えると、アプリは意図したとおりに機能します。

まず、ここで何が起こっているのですか?私は何が間違っているのですか?このようにして、私はこれを理解することができ、将来これを複製することはできません。

次に、この動作を停止するにはどうすればよいですか?元のweb.configをデプロイしたいのですが、恣意的な詐欺師ではありません。ありがとうございました!

4

2 に答える 2

2

dunnryのcskpkgファイルの解凍の提案に基づいて、web.configがパッケージ化されていないことに気付きました。そのため、Azureは必然的に基本的なファイルを作成していたに違いありません(警告なしに!?!?)。いくつかの調査の後、私はこのナゲットに出くわしました(展開の問題に対処する別のStackOverflowの質問から):

web.configファイルがデプロイメントパッケージに含まれていなかったことが判明しました。どういうわけか、web.configファイルのBuildActionがContentからNoneに変更されました。

BuildActionを「コンテンツ」に戻した後、デプロイメントは期待どおりに機能するようになりました。

于 2012-06-26T05:44:42.127 に答える
2

(通常の組み込みのweb.config.debugと.releaseを使用して)変換を指定しない限り、ユーザー設定は変換されません。ある時点で、WebロールがWebファームシナリオで動作するようにmachineKey設定を変換しました(そうでない場合、ロードバランサーの背後では何も機能しません)。まだこれを実行していると確信していますが、現在はmachine.configレベルで実行している可能性があります(web.configはそのままにしておきます)。私はこれをしばらくチェックしていないので、今何をしているのかわかりません。

展開される内容を確認する簡単な方法は、cskpkgをパッケージ化して、.zipファイルとして開くことです。内部には、Webロール名を含む別のファイルがあります。もう一度.zipとして開くと、Webサイトがすべてパッケージ化されているのがわかります。web.configをチェックして、それが必要なものであることを確認してください。そうでない場合は、変更してはいけないと思うものをここに投稿してください。

于 2012-06-15T14:18:07.797 に答える