構成ファイル(cscfg)で定義した接続文字列情報を参照する場合、CloudStorageAccount.SetConfigurationSettingPublisher を呼び出す必要があります。SDK 1.2 の場合は、 WebRole の OnStart メソッド内で、コードを記述する必要がありました。SDK1.3 以降では違う場所に記述する必要があるようです。

動作確認のAzure SDKのバージョンは 1.4 です。

SDK 1.2 までは、 WebRole(RoleEntryPoint を継承した自動生成されるクラス) の Onstart にお約束として SetConfigurationSettingPublisher を呼び出すコードを記述していましたが、 SDK 1.3以降では 次の画面のように”SetConfigurationSettingPublisher needs to be called before FromConfigurationSetting can be used”というエラーが発生します。

調べると次のブログに解決方法が記載されていました。

How to Resolve “SetConfigurationSettingPublisher needs to be called before FromConfigurationSetting can be used” After Moving to Windows Azure SDK 1.3
http://blogs.msdn.com/b/windowsazure/archive/2010/12/08/how-to-resolve-setconfigurationsettingpublisher-needs-to-be-called-before-fromconfigurationsetting-can-be-used-after-moving-to-windows-azure-sdk-1-3.aspx

紹介したページにある通り、Global.asax のApplication_Start に次の用の記述をするばエラーが発生しなくなります。

void Application_Start(object sender, EventArgs e) {
     CloudStorageAccount.SetConfigurationSettingPublisher((configName, configSettingPublisher) =>
         { 
             var connectionString =  RoleEnvironment.GetConfigurationSettingValue(configName);
             configSettingPublisher(connectionString);
         }
     );
 }