visual studio example editar archivo application app c# winforms app-config

c# - studio - ¿Puede una biblioteca de clases tener un archivo App.config?



editar app config c# (5)

Bueno, la biblioteca de la clase no puede tener su propia app.config, pero si define su configuración, desde la biblioteca de la clase en la aplicación.config para el archivo exe, la biblioteca de la clase debería poder encontrarlos.

¡Estoy un poco inseguro, pero no creo que los combine automáticamente, supongo que tienes que hacerlo manualmente!

Así es como se ve mi solución en este momento:

En el proyecto Tutomentor.Branding, me gustaría guardar la información de marca en el archivo App.config, como nombres, colores, etc.

En el proyecto Tutomentor.Data, App.config se creó cuando agregué un archivo de modelo .edmx de entidad.

es posible? ¿Alguna recomendación?

Al implementar, ¿el resultado COMBINARá estos archivos App.config en uno solo?


Cualquier configuración específica de la biblioteca app.config, debe ingresar manualmente su archivo de configuración de exe.


No, las bibliotecas de clases pueden contener archivos de configuración, pero sus valores se definirán en la configuración de la aplicación (web.config, app.config ...).

Eso se debe a la configuración de configuración que anula la función.

Deberá declarar las secciones de configuración de los ensamblajes en la aplicación.config o web.config de su aplicación (WPF, SL, ASP.NET ...) y definir un valor para una determinada cantidad de configuraciones definidas en el ensamblaje adecuado. configuraciones.

EDITAR: agregue un archivo de configuración a su proyecto y agregue una configuración con el alcance de la aplicación, y su ensamblaje tendría algo como esto:

<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > <section name="Assembly1.Settings1" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> </sectionGroup> </configSections> <applicationSettings> <Assembly1.Settings1> <setting name="settingA" serializeAs="String"> <value>a value</value> </setting> </Assembly1.Settings1> </applicationSettings> </configuration>

Ahora necesita ir a su aplicación, y necesita copiar y pegar el grupo de sección y las declaraciones de sección, y la definición de los valores para la configuración. Eso es todo.


Si bien este es un hilo más antiguo, hace warrent otra mirada.

Parece que es posible que desee ver el problema de una manera diferente.

Se supone que las bibliotecas de clases son portátiles. Por lo tanto, cualquier configuración necesaria se debe pasar a la clase, en lugar de residir con la biblioteca. Cosas como las cadenas de conexión son transitorias por naturaleza, por lo que tiene sentido colocarlas en la aplicación propietaria.

Cuando utiliza los métodos contenidos en la biblioteca, pasa cualquier información necesaria como parte de la firma del método o como propiedad pública en la clase. Le sugiero que cree propiedades públicas para sus elementos de configuración y que las pase cuando cree una instancia de la clase.

Ahora no tiene problemas con una aplicación.config para la DLL, y la DLL es realmente portátil.


Simplemente cree su propio archivo XML, asígnele el nombre appConfig.xml o algo similar, haga que su biblioteca de clases lea el archivo usando System.Xml en lugar de System.Configuration, y empaquete el archivo junto con su dll.