如何使用Visual Studio 2017或Mage发布针对实时和测试(QA)版本的WPF双重部署

时间:2018-07-03 12:55:33

标签: c# visual-studio-2017 clickonce

我希望有一些.Net WPF开发人员可以炫耀他们的部署专家知识并回答这个问题。我想部署两个版本的WPF桌面应用程序;一活一考(QA)。

我们即将结束仅在我们内部网络中运行的WPF桌面应用程序的初步开发。部署是使用仅通过Visual Studio 2017配置的ClickOnce进行的文件共享。我们让用户测试谁在部署更新(通常是错误修复)时从ClickOnce更新中受益。上线时,我们将内部属性设置为指向实时数据库实例。

上线之后,我们将开始下一阶段的开发。然后,我们需要在其桌面上同时具有“测试”版本和现在的“实时”版本。我们不知道该怎么做。查看Microsoft文档,似乎并没有解释此用例。可能是,但还不清楚。教程/演练将很棒!

我发现one answer on StackOverflow,但这是一种变通办法,需要一些开销。关于使用Mage的评论有很多,但没有深入地说明要做什么,并且如前所述,MSDN文档非常广泛,并且没有几个示例。

1 个答案:

答案 0 :(得分:2)

基于a related vlog,我记录了一个解决方案:

步骤

  • 为“测试”版本创建一个源代码控制(github)分支,在主节点上使用“实时”(只要有两个分支,任何分支安排都应起作用)
    • git branch Test
    • git push -u origin Test(一旦在下面进行本地更改,就可以完成此操作)
  • 在Visual Studio 2017(VS)的“发布...应用程序”下,将“测试”后缀添加到“程序集名称”中
  • 在VS中的“发布...发布”下,将“测试”后缀添加到“发布文件夹位置”和“安装文件夹URL”
  • 在VS中的“发布...发布...选项...”下,将“测试”后缀添加到“产品名称”

自定义步骤

  • 在日志文件名中添加“测试”后缀(我们使用在“ App.config”中配置的log4net)
    <file value="${LOCALAPPDATA}\\Our_Company\\log-Test.txt" />
  • 应用程序使用的任何其他文件或资源(我们没有任何文件)
  • 我们在“资源”中有一个应用程序图标,其“测试”版本的颜色与“实时”版本的颜色不同

完成这些步骤后,继续进行“发布”,有两个桌面版本。然后,我们通过电子邮件与用户共享指向setup.exe的链接。

最后,一旦测试(QA)阶段完成,将“ Test”分支合并到“ master”(或“ Live”处于打开状态的任何分支),并反向执行上述重命名步骤(即删除所有“ Test”后缀) 。并逆转所有自定义步骤。