views:

42

answers:

3

I'm creating a simple C# Windows Forms application that connects to a SQL Server database. We have a different server for developing and production, and now I'm changing the IP address of the server directly inside the code.

The application is going to be deployed, and I am looking for a way to configure things like database server, database name, etc, without changing the code and recompiling. This change will make easier to debug and deploy the application.

What is the recommended way to separate the configuration from the code?

+1  A: 

Add an app.config file to your application and store your database connection settings in there.

This will allow you to simply modify the config file without having to recompile the whole application.

Wallace Breza
The app.config file must be deployed in the same folder as the executable?
IT Dept
Yes, that is the default location. It will show up as `{YourAppName}.exe.config`
Wallace Breza
+1  A: 

What is the recommended way to separate the configuration from the code

With a configuration file of course. http://www.dreamincode.net/forums/topic/45321-grabbing-connectionstring-from-appconfig/

Jamiec
A: 

Rather than using IP address, use hostnames. This way you can change the IP address without having to modify hostnames.

You can store connection info and other application settings in the application .config file.

RedFilter