The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

app.config locations

I'm converting a Data Warehouse ETL application to .NET after 8 successful years in VB6. The system has 80+ jobs that perform many different types of tasks from HTML screenscraping to Oracle report generation.

The existing architecture uses a base EXE and separate jobs which are standalone ActiveX EXE's called on individual threads from the base EXE.

I would like to do something similar with the .NET version. Here's what I have planned:

* Base application
* Job Manager class - maintains a collection of running jobs and their status.
* Job Lists class - encapsulates various lists (SQL queries) required in both the base application as well as intranet status display.
* Job Base class (MustInherit) - common job functions
* Job classes (80+ eventually) - assemblies loaded at runtime through Assembly.LoadFrom(). Inherits Job Base class. (replaces the ActiveX EXE's from VB6)

The Job Lists, Job Base and Job classes are all separate projects. When deployed, the Job Base and Job classes will be in a folder one level down from the Base application folder. The Job Lists class will be deployed in the Base application folder as well as standalone on an IIS server.

The problem I'm having currently is the management of all the app.config files. Each project has it's own app.config file but the information is the same in all. With deployment of mutiple projects into the same folder, one of the config files is going to get overwritten.

Any thoughts on this problem or possibly design changes I should consider?
Mike Saeger Send private email
Monday, January 08, 2007
Just use a single app.config for your base executable - everyone else can use it.
Mike S Send private email
Monday, January 08, 2007
app.config is the name of the file in VS2005. When you build, it automatically gets written as <appname>.exe.config. There will be no name conflicts.

If you have the same data in each, you could also write a build script that creates the .config file from a central one. Look at Nant or MSBuild.

It's also possible, but I've never tried for an app.config file, that when you add a file to a project you can add a link rather than the actual file. Not sure how it would play with any specific namespace information in the config file, especially in VS2005.
Tuesday, January 09, 2007

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz