いくつかの Azure ヘルパー クラスを含むライブラリがあります。これらのヘルパー クラス内で、Azure アカウント名やキーなどの設定を取得します。Azure で実行する場合、これらの設定はクラウド構成ファイル (cscfg) から取得されます。これはすべてうまくいきます。
これらのクラスを Azure の外部 (具体的には RoleEnvironment) で単体テストするために、単体テスト プロジェクト内で同じ変数名の設定を作成しました。これらは実際には app.config ファイル内に保存され、テスト プロジェクトのプロパティ セクションの下にある設定セクションで編集されます。web.config/app.config 設定からクラウド構成設定を抽象化する独自の方法を作成するのではなく、CloudConfigurationManager クラスを使用することにしました。ただし、単体テストを実行すると、設定がまったく反映されないため、null が返されます。ただし、以下の「appSettings」形式の設定を使用するように app.config ファイルを変更すると、有効な値が得られます。これの欠点は、Visual Studio 内の設定エディター ページを使用して設定を編集できなくなったことです。
だから私の質問は、私が何か間違ったことをしているのですか、それともクラウド構成マネージャーの制限ですか?
<appSettings>
<add key="Foo" value="MySettingValue"/>
</appSettings>
上記は機能しますが、以下は機能しません。
<applicationSettings>
<ComponentsTest.Properties.Settings>
<setting name="Foo" serializeAs="String">
<value>MySettingValue</value>
</setting>
</ComponentsTest.Properties.Settings>
</applicationSettings>