エクスポート (0) 印刷
すべて展開

ロールが起動しない問題のトラブルシューティング

更新日: 2014年4月

適用対象: Windows Azure SDK 1.0 以降

DLL またはアセンブリを参照できないことが原因で、ロールが応答しなかったり、初期化状態、ビジー状態、および停止状態を繰り返したりすることがあります。

現象: DLL またはアセンブリを参照できない場合、次の現象が発生することがあります。

  • ロール インスタンスが初期化、ビジー、および停止を繰り返す。

  • ロール インスタンスが "準備完了" 状態になっても、Web アプリケーションに移動したときにページが表示されない。

解決策: これらの問題を調査する方法として、次の 3 つの方法をお勧めします。

Web ロールにデプロイされた Web サイトに移動したとき、次のようなサーバー エラーがブラウザーに表示されます。

'/' アプリケーションのサーバー エラー。

Web ロールの web.config を構成してカスタム エラー モードをオフに設定し、サービスを再デプロイすることで、より詳細なエラーを表示できます。

リモート デスクトップを使用することなく、より詳細なエラーを表示するには

  1. Visual Studio でソリューションを開きます。

  2. ソリューション エクスプローラーで、web.config ファイルを開きます。

  3. web.config ファイルで、system.web セクションを見つけ、次の行を追加します。

    <customErrors mode="Off" />
    
  4. ファイルを保存します。

  5. サービスを再度パッケージ化し、デプロイし直します。

サービスを再デプロイすると、エラーと共に、参照できないアセンブリまたは DLL の名前も表示されます。

リモート デスクトップを使用して、リモートでロールにアクセスし、より詳細なエラーを表示できます。

リモート デスクトップを使用してエラーを表示するには、次の手順に従います。

  1. Windows Azure SDK 1.3 以上がインストールされていることを確認します。

  2. Visual Studio を使用したソリューションのデプロイ中に、[リモート デスクトップ接続を構成する] を選択します。リモート デスクトップ接続の構成の詳細については、「Windows Azure ロールでのリモート デスクトップの使用」を参照してください。

  3. Microsoft Azure の管理ポータル で、インスタンスのステータスが "準備完了" と表示されたら、ロール インスタンスのいずれかをクリックします。

  4. リボンの [リモート アクセス][接続] アイコンをクリックします。

  5. リモート デスクトップを構成するときに指定した資格情報を使用して、仮想マシンにログインします。

  6. コマンド プロンプトを開きます。

  7. 「IPconfig」と入力します。

  8. IPV4 アドレスの値をメモに記録します。

  9. Internet Explorer を開きます。

  10. Web アプリケーションのアドレスと名前を入力します。たとえば、「http://<IPV4 アドレス>/default.aspx」と入力します。

Web サイトに移動すると、より詳細なエラー メッセージが返されます。

  • '/' アプリケーションのサーバー エラー

  • 説明現在の Web 要求を実行中に、ハンドルされない例外が発生しました。エラーに関する詳細および例外の発生場所については、スタック トレースを参照してください。

  • 例外の詳細: System.IO.FIleNotFoundException: ファイルまたはアセンブリ 'Microsoft.WindowsAzure.StorageClient, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf856ad364e35'、あるいはその依存関係の 1 つを読み込むことができませんでした。指定されたファイルが見つかりません。

例:

'/' アプリケーションの明示的なサーバー エラー

Azure Microsoft Azure コンピューティング エミュレーター を使用して、依存関係の欠落や web.config のエラーを診断およびトラブルシューティングできます。

この診断方法を使用して最善の結果を得るには、Windows が新規インストールされた状態のコンピューターまたは仮想マシンを使用する必要があります。最善の状態で Azure 環境のシミュレーションを行うには、Windows Server 2008 R2 x64 を使用する必要があります。

  1. Azure SDK のスタンドアロン バージョンを http://www.microsoft.com/windowsazure/windowsazuresdk+tools/ から入手してインストールします。

  2. 開発コンピューター上で、クラウド サービス プロジェクトをビルドします。

  3. Windows エクスプローラーで、クラウド サービス プロジェクトの bin\debug フォルダーに移動します。

  4. .csx フォルダーと .cscfg ファイルを、問題をデバッグするために使用するコンピューターにコピーします。

  5. クリーン マシン上で、Azure SDK コマンド プロンプトを開き、「csrun.exe /devstore:start」と入力します。

  6. コマンド プロンプトで、「run csrun <path to .csx folder> <path to .cscfg file> /launchBrowser」と入力します。

  7. ロールが起動されると、詳細なエラー情報が Internet Explorer に表示されます。さらに、標準の Windows トラブルシューティング ツールを使用して問題を診断することもできます。

.NET Framework 4 を使用するワーカー ロールおよび Web ロールの場合、Microsoft Visual Studio Ultimate に用意されている IntelliTrace を使用できます。

IntelliTrace を有効にしてサービスをデプロイするには、次の手順に従います。

  1. Windows Azure SDK 1.3 以上がインストールされていることを確認します。

  2. Visual Studio を使用してソリューションをデプロイします。デプロイ時、[.NET 4 のロールに対して IntelliTrace を有効にします] チェック ボックスをオンにします。

  3. インスタンスが起動したら、サーバー エクスプローラーを開きます。



  4. [Windows Azure コンピューティング] ノードを展開し、デプロイを見つけます。

  5. デプロイを展開して、ロール インスタンスを表示します。

    いずれかのインスタンスを右クリックします。

  6. [IntelliTrace ログの表示] を選択します。[IntelliTrace の概要] が開きます。

  7. 概要の例外セクションを見つけます。例外がある場合は、[例外データ] と表示されます。



  8. [例外データ] を展開し、次のような System.IO.FileNotFoundException エラーを見つけます。

    例外データ、ファイルまたはアセンブリがない

DLL およびアセンブリを参照できないエラーを解決するには、次の手順に従います。

  1. Visual Studio でソリューションを開きます。

  2. ソリューション エクスプローラーで、[参照] フォルダーを開きます。

  3. エラーに示されているアセンブリをクリックします。

  4. プロパティ ペインで、[ローカルにコピー] プロパティを見つけ、その値を True に設定します。

  5. ホステッド サービスを再デプロイします。

すべてのエラーが解決したことを確認できたら、[.NET 4 のロールに対して IntelliTrace を有効にします] をオンにせずにサービスをデプロイできます。

表示:
© 2014 Microsoft