Over a million developers have joined DZone.

Shared and External App.Config Settings

·

MECUM – .NET TECHNOLOGY BLOG - Daily Problems – Sharing One App.config With Multiple Class Libraries, Assemblies

You create a project and you want to share a single app.config during development, with different class libraries and one executable.

Here is a simple solution. You create a simple assembly (class library type project) and add a static class to it, which offers you the access to the app.config of the current application that executes the loaded class-library:

image

The Wit and Ramblings of David Giard - Moving Config Sections to External Files

An App.config file or a Web.config file are great places to store configurable information – information that generally doesn’t change; but we want to be able to change easily (i.e., without rebuilding and redeploying the application.) Examples include connection strings (stored in the config file’s <connectionStrings> section) and application-wide name-value pairs (stored in the config file’s <appSettings> section).

We can add more flexibility by moving a section to an external file and linking to that file from the config file.

By splitting the file, we can manage and deploy only those settings separate from the rest of the configuration.

To do so, we create a new text file and copy that section into that file; then use the configSource attribute of the section tag in the original config file to point to the new file.

For example, the following app.config contains all the application’s connection strings and application settings

...

image..."

Now if only we could combine these two.

Topics:

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}