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