如何在C#控制台应用程序中使用配置替换

时间:2012-07-09 15:48:42

标签: c# visual-studio-2010 console-application configurationmanager

有没有办法在Visual Studio 2010中为C#控制台应用程序进行配置替换,类似于通过asp.net/web应用程序项目的部署项目完成的方式?我有不同的连接字符串和邮件设置,我用于测试和prod环境,因此我需要一种简单的方法来进行部署时切换设置。

2 个答案:

答案 0 :(得分:1)

是的,你可以。您应该在项目中创建两个文件夹,如“config1”和“config2”。在每个app.config文件中放入适合您需要的设置。创建两个项目配置,如“Release1”和“Release2”。在编辑器中打开csproj文件,查找包含这两个文件的行。在每个xml节点中,您可以检查当前所选配置是什么,并告诉VS是否编译每个文件。 找不到一个示例,但尝试寻找“多个app.config”。

编辑:刚发现这个,它看起来很棒。 VS的插件,用于在app.config中使用转换,如web.config http://www.hanselman.com/blog/SlowCheetahWebconfigTransformationSyntaxNowGeneralizedForAnyXMLConfigurationFile.aspx

答案 1 :(得分:1)

你也可以使用#if DEBUG,如下所示:

using System;

namespace IfDebug
{
    class Program
    {
        static void Main(string[] args)
        {
            string connectionString;

#if DEBUG
            connectionString = "a";
#else
            connectionString = "b";
#endif
            Console.WriteLine(connectionString);

            Console.ReadLine();
        }
    }
}

如果Solution Configuration对话框设置为Debug,则会打印'a',否则将打印'b'。

Microsoft更好地解释了here