既存のMVC3プロジェクトに基づいたWebロールを持つ新しいクラウドサービスプロジェクトを作成しました。AzureコンピューティングエミュレーターのWebサイトでWebの役割を実行しようとすると、ページスタイルをより少なくレンダリングする画像またはcssスタイルの使用を除いて、正常に機能します。ブラウザで直接URLを使用して、これらの不足しているリソース(cssや画像ファイルなど)にアクセスしようとすると、「内部サーバーエラー」のみが発生します。
cloudServiceプロジェクトの下のobjフォルダーを確認しましたが、すべてのビューとdllが存在しているにもかかわらず、コンピューティングエミュレーターでプロジェクトを実行するとContentフォルダー(cssと画像が存在するはずです)が空になりますが、実行するとPOPULATEDになりますクラウドに対するデプロイ。
フォーラムでの以前の調査の結果、これらのファイルに「BuildAction = Content」が含まれていること、および静的コンテンツモジュールがローカルIISにインストールされていることを確認しましたが、肯定的な結果は得られませんでした。
AzureTools1.7とVS2010を使用しています
更新: エミュレーターでWebの役割を開始しようとすると(VS2010では再生ボタンを押す)、問題に関連していると思われる2つの警告がWindowsアプリケーションイベントログで発生します(どちらの警告もIIS Expressで発生します)。
ここに警告があります(最初は元のスペイン語バージョンで、後で個人的な英語の翻訳)
"EldirectorioespecificadoparaalmacenarencachéelcontenidocomprimidoC:\ Users \ dgarcia \ AppData \ Local \ dftmp \ Resources \ c122a014-7804-49ec-b59f-c9f23c924050 \ temp \ temp \ RoleTemp \ iisexpress \ IIS Temporary Compressed Files \ d42ecaeb -eabb-4dd2-89b8-aecd01f36ba3noesválido。Lacompresiónestáticaseestádeshabilitando。」
「圧縮されたコンテンツをキャッシュするために指定されたディレクトリ[非常に長い一時パス]が無効です。静的圧縮が無効になっています。」
(2秒後に2番目の警告が発生します)
"ErrordelmóduloFailedRequestTracingalcreareldirectorio'\?\ C:\ Users \ dgarcia \ AppData \ Local \ dftmp \ Resources \ c122a014-7804-49ec-b59f-c9f23c924050 \ directory \ DiagnosticStore \ FailedReqLogFiles \ Web \ deployment17(8) .CloudService.BRAINVT.Web_IN_0_Web\'。
「モジュールFailedRequestTracing作成ディレクトリ[奇妙な非常に長いパス]でエラーが発生しました。状況が修正されるまでログは生成されません。過去5分間に少なくとも1回問題が発生しました。データはエラー(?)です。」
UPDATE2: httpCompressionが根本的な問題であると想定して、この設定のディレクトリ属性を変更して、Everyoneに対してオープンなアクセス許可を持つc:\ tempのようなパスを指すようにしました(残念ながら、これはプロジェクトのweb.configファイルでは実行できないため実行する必要があります) IIS Expressでは、de appcmdコマンドラインツールを使用して)、Azure Compute Emulatorが各WebRoleに対して独自のapplicationHost.configファイルを生成し、IIS Expressのグローバル構成をオーバーライドして、変更した設定をオーバーライドすることを確認します。