У меня есть библиотека, содержащая некоторые классы-помощники Azure. Внутри этих вспомогательных классов я получаю такие настройки, как имя и ключ учетной записи Azure. При запуске в Azure эти настройки выбираются из файла конфигурации облака (cscfg). Все это прекрасно работает.
Чтобы unit test эти классы за пределами Azure (в частности, RoleEnvironment), я создал настройки с теми же именами переменных в проекте unit test. Они фактически сохраняются в файле app.config и редактируются через раздел настроек, который находится в разделе свойств моего тестового проекта. Вместо того, чтобы создавать собственный метод абстрагирования настроек конфигурации облаков из настроек web.config/app.config, я решил использовать класс CloudConfigurationManager. Однако, когда я запускаю свои модульные тесты, ни один из моих настроек не подбирается, поэтому я просто получаю null. Если, однако, я изменяю свой файл app.config для использования настроек в формате "appSettings" ниже, тогда я получаю действительные значения. Недостатком этого является то, что я больше не могу редактировать свои настройки, используя страницу редактора настроек в visual studio.
Итак, мой вопрос заключается в том, что я делаю что-то неправильно или это ограничение диспетчера конфигурации облаков, благодаря чему он может только вручную добавлять добавленные appSettings, но не добавлять приложения, используя редактор?
<appSettings>
<add key="Foo" value="MySettingValue"/>
</appSettings>
вышеуказанные работы, тогда как ниже:
<applicationSettings>
<ComponentsTest.Properties.Settings>
<setting name="Foo" serializeAs="String">
<value>MySettingValue</value>
</setting>
</ComponentsTest.Properties.Settings>
</applicationSettings>