首页 > 解决方案 > 如何使用 Visual Studio 2017 或 Mage 发布实时和测试 (QA) 版本的 WPF 双部署

问题描述

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

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

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

在 StackOverflow 上找到了一个答案,但它是一种需要一些开销的解决方法。那里有一条关于使用 Mage 的评论,但没有深入说明该做什么,并且如前所述,MSDN 文档非常广泛,示例很少。

标签: c#visual-studio-2017clickonce

解决方案


根据相关的 vlog,我记录了一个解决方案:

脚步

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

自定义步骤

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

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

最后,一旦测试 (QA) 阶段完成,将“测试”分支合并到“主”(或任何“实时”分支)并反转上述重命名步骤(即删除所有“测试”后缀)。并反转任何自定义步骤。


推荐阅读