我有一个控制台应用程序,我正在使用Visual Studio Build在本地tfs 2015上构建。我想要实现的是:
如果在正常开发期间在dev机器上执行应用程序,则会出现一条简单的消息“Hello Developer”,如果它部署在qa环境中并且测试人员从那里运行它应该打印“Hello Tester” “。只是一个简单的演示。
所以我认为我需要一个App.config来存储一个在构建过程中不会被更改的配置。我有信心这是一个没有道理,因为我发现有很多网站描述这样的事情,但事实证明,他们都没有透露有趣的内容,如
或已过时(TFS 2013 (1),RM Client 2013 (2))或正在使用Visual Studio Online/ Team Services或正在使用custom tasks。
有人可以解释一下,如何实现所描述的场景“Hello Developer”/“Hello Tester”?
非常感谢!
答案 0 :(得分:1)
我们使用MSDeploy进行此类设置。您可以通过将csproj文件中的Import行添加到项目中的新.targets文件来扩展MSBuild。引用MSDeploy任务并使用它为控制台应用程序创建MSDeploy包。最后创建参数化文件,以使用适当的消息定义要转换的配置部分和每个环境的SetParameters文件。
This blog post用于数据库项目,但基本步骤相同。
在RM中,您将使用MSDeploy通过PowerShell命令将包与适当的SetParmeter文件一起部署到目标服务器。
答案 1 :(得分:0)
您是否尝试过使用SlowCheetah?
此软件包允许您自动转换app.config(或 在Visual Studio中按F5时的任何文件。你可以有不同的 基于构建配置的转换。这将使你 轻松拥有不同的应用程序设置,连接字符串等 调试与发布。如果要转换其他文件,可以执行此操作 那也是。