問題は、Visual C++2010ランタイムライブラリがクラウド側にないことでした。
私が行ったのは、Visual C ++ 2010再頒布可能パッケージをプロジェクトに追加することと、起動時にサイレントにインストールするスクリプトを追加することでした。これで、ネイティブdllが機能します。ネイティブCdllを使用している場合にも、これが必要です。
手順:
1)Visual C ++ 2010再頒布可能パッケージをダウンロードし、プロジェクトに追加します。
2)新しいバッチファイルを作成し、これを追加します。
vcredist_x64.exe /q /norestart
exit /b 0
3)ServiceDefinition.csdefファイルを開き、関連するWebRole要素の下にこれを追加します。
<Startup>
<Task commandLine="InstallVCRedist.bat" executionContext="elevated" taskType="simple" />
</Startup>
更新:
Visual C ++ 2012がリリースされ、同じスクリプトが機能しますが、Azureが少なくともWindows Server 2008 R2を実行していることを確認する必要があります。そうしないと、起動タスクがハングし、役割が開始されません(vcredistプロセスを強制終了するまで) RDP経由のタスクマネージャー)。