C# 将.NET 4.0控制台应用程序部署到不同的环境
我创建了一个控制台应用程序,负责从数据库生成数据导出。必须将其部署到与数据库运行位置不同的批处理服务器。在app.config中,我需要配置到数据库的connectionstring。我有大约八个环境需要部署这个控制台应用程序。到目前为止,我需要存储每个环境的原始配置文件,并将其分别复制到安装文件夹中 我知道的第一件事是在VisualStudio中将文件添加到安装项目中。在主输出旁边,我添加了所有配置文件,其中包含一个condition属性。我在安装向导(文本框)中添加了一个屏幕,要求安装的用户输入我指定的环境名称。我在一个安装项目中成功地配置了这个,但在两个项目中,我的解决方案不正确。在这些情况下,我总是在安装文件夹中使用app.config文件,而不是在安装项目中创建的配置文件。当我重命名这些文件时,只有在安装过程中输入正确的详细信息时才能看到它们。所以我猜我的文件被我项目中的app.config覆盖了 我的安装程序的生成结果:C# 将.NET 4.0控制台应用程序部署到不同的环境,c#,visual-studio-2010,deployment,.net-4.0,vdproj,C#,Visual Studio 2010,Deployment,.net 4.0,Vdproj,我创建了一个控制台应用程序,负责从数据库生成数据导出。必须将其部署到与数据库运行位置不同的批处理服务器。在app.config中,我需要配置到数据库的connectionstring。我有大约八个环境需要部署这个控制台应用程序。到目前为止,我需要存储每个环境的原始配置文件,并将其分别复制到安装文件夹中 我知道的第一件事是在VisualStudio中将文件添加到安装项目中。在主输出旁边,我添加了所有配置文件,其中包含一个condition属性。我在安装向导(文本框)中添加了一个屏幕,要求安装的用户
Building file 'C:\MyProject\MyProject.Setup\Deploy\MyProject.msi'...
Packaging file 'MyProject.exe.config'...
Packaging file 'MyProject.exe'...
Packaging file 'MyProject.exe.config'...
Packaging file 'MyProject.exe.config'...
有人知道这里失败的是什么吗?我需要特殊条件或设置吗?或者另一种部署策略。手动编辑配置文件不是一个选项。我感谢所有的帮助。提前感谢。如果只是关于连接字符串,请添加对部署到文件夹中的第二个配置文件的引用,如:
<connectionStrings configSource="connectionstrings.config" />
如果只是关于连接字符串,请添加对部署到文件夹中的第二个配置文件的引用,如:
<connectionStrings configSource="connectionstrings.config" />
只需使用SlowCheetah并应用配置转换,请参见只需使用SlowCheetah并应用配置转换,请参见