将 ClickOnce 应用程序部署到不同的名称

问题描述

我们正在将 Windows 应用程序从 Visual Studio 2005 转换为 Visual Studio 2019。转换本身没问题,但我们在部署和安装时遇到了问题。

在 VS 2005 下,我们使用 Mage.exe(通过命令提示符,而不是 GUI)来部署每个应用程序的单独测试、QA 和生产版本。这是在本地完成的。每个版本都以不同的名称(QA 应用程序、Prod 应用程序等)在本地安装。它们都可以共存于一台机器上。在项目的生命周期中,QA 版本的编号可能晚于 Production。它们不冲突。

在VS 2019下,我们通过TFS按照上面的步骤,但是安装失败。错误表示部署清单在语义上无效并且缺少标记。我在本地运行部署步骤时遇到相同的错误,所以这看起来像是 Mage 问题。该标签不是 VS 2005 的一部分,我们无法找到它应该来自哪里。法师应该从某个地方读取它吗?

我们在 VS 2019 下尝试过的东西:

  1. 生成的部署文件删除一个有冲突的 app.publish 文件夹。
  2. 在发布先决条件中检查了 Framework 4.7.2 先决条件。将其回滚到 4.6.1 以匹配我们的 TFS 构建引擎。
  3. 在 app.manifest 中取消注释了适用于 Win 10 的支持操作系统。
  4. 手动将标签添加到 app.manifest。
  5. 将 Deploy 项目中的 BootstrapperFile Include 更正为“.NETFramework,Version=v4.6.1”。

保留不同的应用程序名称势在必行,以便我们在 ISD 中可以正确地进行故障排除,因此我们的业务领域可以正确地测试更改。我们没有时间重新设计我们的应用程序。有人建议将相同的代码部署到不同的可执行文件名称吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...