【问题标题】:beta and production versions of a winforms release co-existing?winforms 版本的 beta 和生产版本共存?
【发布时间】:2011-05-21 03:13:18
【问题描述】:

我想知道是否可以为同一个应用程序提供一种具有不同部署路径的解决方案。我想做的是有一个“生产”版本和一个“调试/测试”版本的 winforms 应用程序。理想情况下,我希望能够以最少的“手动工作”完成这项工作。

我的意思是我希望能够配置我的 winform 解决方案,以便如果我构建应用程序的 beta 版本,它将在开始菜单中显示为“发布”版本的兄弟...像这样:

开始菜单-->CompanyName-->ProductName-->AppName 开始菜单-->CompanyName-->ProductName-->AppName(beta)

配置这样的东西有什么好的做法?

目前看来这是我们需要采取的方法:

  1. 将Application的Assembly name在“Application”选项卡中更改为“AppNameBeta”,我们不能使用相同的Assembly名称,否则会覆盖AppName或AppName会覆盖AppNameBeta。
  2. 将 Publish\Options 中的产品名称更改为“AppNameBeta”,以便快捷方式名称不同。
  3. 将 Resources.xml 文件中的任何程序集名称引用从 AppName 更改为 AppNameBeta(无论在步骤 #1 中更改了任何程序集名称)。

我对此有误解还是有更简单/更优雅的方式来部署测试版?

感谢您的支持。

【问题讨论】:

    标签: c# winforms build release


    【解决方案1】:

    我认为您的答案是设置配置。在您的工具栏中,您将看到一个下拉菜单,其中指定了 Debug 或 Release;将其下拉,您将看到“配置管理器...”选项。选择那个。在新对话框左上角的“活动解决方案配置:”下将是另一个下拉菜单,其中包含“新建...”选项。选择此选项,输入“Beta”作为您的配置名称,然后从“Release”复制设置(我假设您已为实际产品版本配置)。确保选中“创建新项目配置”。这将允许您为您的项目和整体解决方案创建一组新的部署设置。

    现在,您可以选择 Beta 配置或 Release 配置,这样做时您可以指定要包含的不同项目;例如,您可以在解决方案中放置两个安装程序项目,一个配置为测试版安装,另一个配置为发布版。您还可以更改部署和发布路径。

    有些事情是不允许你做的:

    • 您不能有不同的程序集名称、版本或 GUIDS。这意味着在 GAC 中注册或放置在共享目录中的任何程序集都将被最近安装的文件或最新版本(可能是 beta)覆盖。如果不重命名您的项目或拥有一个使用快捷方式链接其代码文件的完全不同的项目,您真的无法解决这个问题。
    • 由于安装项目不同,它们安装的应用程序将被 Windows 视为不同的应用程序。但是,安装程序必须为已安装的文件、用户数据等指定不同的默认位置,否则安装程序将相互覆盖,不仅会导致生产环境丢失,还会导致安装/卸载日志严重混乱。

    【讨论】:

      猜你喜欢
      • 2019-02-05
      • 1970-01-01
      • 1970-01-01
      • 2023-04-09
      • 1970-01-01
      • 1970-01-01
      • 2020-11-24
      • 1970-01-01
      • 2020-05-31
      相关资源
      最近更新 更多