CloudConfigurationManager nie pobiera ustawień aplikacji z app.config
Mam bibliotekę zawierającą niektóre klasy pomocników platformy Azure. Wewnątrz tych klas pomocniczych uzyskuję ustawienia, takie jak nazwa konta Azure i klucz. Podczas uruchamiania w Azure ustawienia te są pobierane z pliku konfiguracyjnego chmury (cscfg). To wszystko działa dobrze.
Aby jednostkowo przetestować te klasy poza Azure (w szczególności RoleEnvironment), stworzyłem ustawienia tych samych nazw zmiennych w ramach projektu testu jednostkowego. W rzeczywistości są one zapisywane w pliku app.config i edytowane w sekcji ustawień, która znajduje się w sekcji właściwości mojego projektu testowego. Zamiast tworzyć własną metodę abstrakcji ustawień konfiguracji chmury z ustawień web.config / app.config, zdecydowałem się użyć klasy CloudConfigurationManager. Jednak po uruchomieniu testów jednostkowych żadne z moich ustawień nie jest odbierane, więc po prostu otrzymuję wartości zerowe. Jeśli jednak zmienię plik app.config, aby używał ustawień w poniższym formacie „appSettings”, otrzymuję poprawne wartości. Wadą tego jest to, że nie mogę już edytować moich ustawień za pomocą strony edytora ustawień w studio wizualnym.
Więc moje pytanie brzmi: czy robię coś złego lub czy jest to ograniczenie menedżera konfiguracji chmury, dzięki czemu może on tylko ręcznie dodawać appSettings, ale nie dodawać ustawień aplikacji za pomocą edytora?
<appSettings>
<add key="Foo" value="MySettingValue"/>
</appSettings>
powyższe działa, podczas gdy poniżej nie:
<applicationSettings>
<ComponentsTest.Properties.Settings>
<setting name="Foo" serializeAs="String">
<value>MySettingValue</value>
</setting>
</ComponentsTest.Properties.Settings>
</applicationSettings>