在部署控制台应用程序时转换配置

时间:2011-03-14 12:42:59

标签: c# .net configuration web-config-transform slowcheetah

我一直在部署ASP.NET网站并使用web configuration transforms管理他们的配置,并使用以下命令构建它们:

MSBuild.exe MyMvcProj.csproj /P:Configuration:CustomConfiguration1

我还有一个控制台应用程序,我需要使用不同的配置多次部署,并且想知道是否有任何类似的机制可用于构建项目并使用不同的配置进行部署?

我遇到an article using custom XSLT to handle multi environment configs,但这似乎是一个非常复杂和混乱的解决方案。

提前致谢!

2 个答案:

答案 0 :(得分:1)

看起来部署控制台应用程序的最佳方式可能是使用发布工具来创建可更新的可安装应用程序。但是,对于仅部署一些小型实用程序的几个版本,这似乎有点完整。

最后我只使用批处理文件来运行MSBuild,覆盖配置文件并将目录压缩到特定位置:

"C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" MyConsoleProj\MyConsoleProj.csproj /P:Configuration=ConfigA
cp MyConsoleProj\app.ConfigA.config MyConsoleProj\bin\x86\ConfigA\MyConsoleProj.exe.config
cd MyConsoleProj\bin\x86\ConfigA
7z a -y C:\MyConsoleProj-ConfigA.zip
cd ..\..\..\..

这是非常基本的,但是这项工作可以让我们快速构建具有多个配置的相同项目,随时可以移出到远程服务器。

此外,还需要开源7-zip software

答案 1 :(得分:1)

还有...... Visual Studio Gallery的SlowCheetah VS加载项......这对配置转换有很大帮助