Tengo una biblioteca que contiene algunas clases de ayuda de Azure. Dentro de estas clases de ayuda, obtengo configuraciones tales como el nombre y la clave de la cuenta de Azure. Cuando se ejecuta en Azure, estas configuraciones se recogen del archivo de configuración de la nube (cscfg). Todo esto funciona bienCloudConfigurationManager no recoge ApplicationSettings desde app.config
Para probar la unidad de estas clases fuera de Azure (específicamente RoleEnvironment) creé las configuraciones de los mismos nombres de variable dentro del proyecto de prueba de la unidad. De hecho, estos se guardan en un archivo app.config y se editan a través de la sección de configuración que se encuentra en la sección de propiedades de mi proyecto de prueba. En lugar de crear mi propio método para abstraer las configuraciones de la nube de las configuraciones de web.config/app.config, decidí usar la clase CloudConfigurationManager. Sin embargo, cuando ejecuto mis pruebas unitarias, ninguna de mis configuraciones se recogen, así que simplemente obtengo nulos. Sin embargo, si cambio mi archivo app.config para utilizar la configuración en el formato 'appSettings' a continuación, entonces obtengo valores válidos. La desventaja de esto es que ya no puedo editar mis configuraciones usando la página del editor de configuraciones dentro de Visual Studio.
Así que mi pregunta es ¿estoy haciendo algo mal o esto es una limitación del administrador de configuración en la nube, por el cual solo puede recoger ajustes de la aplicación añadidos manualmente pero no se agrega la aplicación con el editor?
<appSettings>
<add key="Foo" value="MySettingValue"/>
</appSettings>
las obras anteriores, mientras que el siguiente no:
<applicationSettings>
<ComponentsTest.Properties.Settings>
<setting name="Foo" serializeAs="String">
<value>MySettingValue</value>
</setting>
</ComponentsTest.Properties.Settings>
</applicationSettings>
Probablemente es una ilusión, pero hubiera sido bueno que la documentación de Microsoft haya dicho esto. Gracias por la respuesta. –
+1 muy bien hecho. Había planeado usar esto para una cadena de conexión. –
@KingRoger, se indica en el [artículo msdn] (https://msdn.microsoft.com/en-us/LIBRARY/microsoft.windowsazure.cloudconfigurationmanager) sobre la clase. –