0

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

4

2 回答 2

1

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

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

于 2012-07-09T16:00:33.737 回答
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'。

微软在这里解释得更好。

于 2012-07-09T16:11:46.023 回答