1

ASP .NETMVC4アプリケーションをWindowsAzureに展開しようとしていますが、MVC4をインストールする起動タスクがあります。しかし、私の役割はオンラインになりません。展開ステータスは次のとおりです。

役割の開始を待機しています...システム起動タスクが実行されています

サイトが展開されました...

回復...

役割の開始を待機しています...システム起動タスクが実行されています

サイトが展開されました...

回復...

役割の開始を待機しています...システム起動タスクが実行されています

サイトが展開されました...

回復...

これは起こり続けています。

私が気付いたもう1つの興味深い点は、RDPをRoleインスタンスに入れると、役割が準備完了状態になることです。

誰かが考えを持っています、ここで何がうまくいかないのですか?

ありがとうアヌ

4

4 に答える 4

2

Sandrinoが述べたように、スタートアップタスクがこれを引き起こす可能性があります。そのパターンを見ると、ほとんどの場合、デプロイ先のAzureVM上にあるアセンブリが参照されているようです。

http://gacviewer.cloudapp.net/には、csprojファイル内のアセンブリを現在のAzure OSバージョンと比較して、CopyLocal=trueとしてマークする必要のあるアセンブリを見つけるツールがあります。このツールはosfamily=2を調べていることに注意してください。VSは、デフォルトでcscfgファイルにosfamily=1を作成します。

おそらくAzureVM上にないバージョンのEntityFrameworkを使用してMVC4プロジェクトをデプロイしているため、これは私には非常にありそうです。

于 2012-09-10T15:40:16.050 に答える
0

これは、問題を引き起こしている起動タスク、またはWebアプリケーションが正しく機能していないことが原因である可能性があります。診断モジュールはログをストレージアカウントに送信するのに数分かかることがあるため、RDPを介して接続し、イベントビューア([アプリケーション]の下)で何が起こっているかを確認することをお勧めします(エラーと警告を探します)。

于 2012-09-10T06:08:43.270 に答える
0

私は解決策を得ました。問題は、MVC4をインストールするためのスタートアップタスクを実行するユーザー(私はその「システム」だと思います)の許可でした。起動スクリプト(installmvc4-main.cmd)を更新して、次の操作を実行しました。

  1. 実行ポリシーが無制限に設定されたPowerShellスクリプト「installmvc4.ps1」を呼び出す別のスクリプト「installmvc4-impl.cmd」を作成します。

  2. パッケージに含まれているインストーラーを使用してmvc4をインストールするためのPowerShellスクリプト「installmvc4.ps1」を作成します(http://www.microsoft.com/en-us/download/details.aspx?id=30683からダウンロードしました)

  3. ユーザーを作成し、それを管理者グループに追加して、このユーザーを使用して「installmvc4-impl.cmd」を実行するタスクをスケジュールします。

ここで、スクリプト'installmvc4-main.cmd':

REM作成dosスクリプトinstallmvc4-impl.cmdを使用して、PowerShellスクリプトを呼び出してMVC4をインストールします

echo if "%% EMULATED %%" == "true" goto:EOF> %~ dp0installmvc4-impl.cmd
echo powershell -ExecutionPolicy Unrestricted%〜dp0installmvc4.ps1 ^> installmvc4.ps1.log 2 ^> ^&1 >>%〜dp0 \ installmvc4-impl.cmd
echo exit ^ / B 0 >>%〜dp0installmvc4-impl.cmd

REMPowerShellスクリプトinstallmvc4.ps1を作成してMVC4をインストールします

echo Invoke-Expression "%〜dp0AspNetMVC4Setup.exe / q / norestart">%〜dp0installmvc4.ps1

REM管理者ユーザーを作成し、このユーザーを使用してタスクをスケジュールして、MVC4をインストールするスクリプトを実行します

ネットユーザーanuchandyAdmin!@#123 / add
ネットローカルグループ管理者aunchandy/add
schtasks / CREATE / TN "install-mvc4-task" / SC ONCE / SD 01/01/2020 / ST 00:00:00 / RL HIGHEST / RU anuchandy / RP Admin!@#123 / TR "%〜dp0 \ installmvc4 -impl.cmd "/ F
schtasks / RUN / TN "install-mvc4-task"

注:srartupタスクinstallmvc4-main.cmdの文字エンコードがANSIであることを確認してください。

于 2012-09-10T17:49:03.127 に答える
0

スタートアップスクリプトファイルには、最後にEXIT /B0コマンドが含まれている必要があります。

于 2015-07-14T13:00:47.560 に答える