winforms版本的beta和生产版本共存?

时间:2010-12-06 17:40:53

标签: c# winforms build release

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

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

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

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

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

  1. 在“应用程序”选项卡中将应用程序的程序集名称更改为“AppNameBeta”,我们不能使用相同的程序集名称,否则将覆盖AppName或AppName将覆盖AppNameBeta。
  2. 将Publish \ Options中的产品名称更改为“AppNameBeta”,以便快捷方式名称不同。
  3. 更改Resources.xml文件中的任何程序集名称引用,从AppName更改为AppNameBeta(在步骤1中更改程序集名称)。
  4. 我是否误解了这一点,或者是否有更简单/更优雅的方式来部署测试版?

    感谢您的支持。

1 个答案:

答案 0 :(得分:2)

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

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

有些事情不允许你这样做:

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