C# 发布两个不同版本应用程序的工作流

C# 发布两个不同版本应用程序的工作流,c#,.net,wpf,mercurial,C#,.net,Wpf,Mercurial,我需要同时发布WPF应用程序的两个版本A和B。版本之间的差异通常是恒定的 区别如下: 应用程序名和主exe文件名; 屏幕和标志; exe文件的图标; 具有文本字符串的资源文件; AssemblyInfo中的字符串,如制造商等。 功能是一样的 在这种情况下,我如何使用mercurial 我为每个版本使用两个单独命名的分支,每次需要发布它们时,我都会将它们与我的开发分支合并。对于版本A,它可以正常工作,但每次合并它时我都必须更改B:我必须更改资源、修复AssemblyInfo、重命名应用程序等。我想

我需要同时发布WPF应用程序的两个版本A和B。版本之间的差异通常是恒定的

区别如下:

应用程序名和主exe文件名; 屏幕和标志; exe文件的图标; 具有文本字符串的资源文件; AssemblyInfo中的字符串,如制造商等。 功能是一样的

在这种情况下,我如何使用mercurial


我为每个版本使用两个单独命名的分支,每次需要发布它们时,我都会将它们与我的开发分支合并。对于版本A,它可以正常工作,但每次合并它时我都必须更改B:我必须更改资源、修复AssemblyInfo、重命名应用程序等。

我想知道您是否真的需要维护两个版本的源代码才能实现相同的功能

您可能会发现,实现功能切换解决方案将减少发布和维护版本的需要。Martin Fowler的以下文章提供了功能切换的良好概述


我想知道您是否真的需要维护两个版本的源代码来实现相同的功能

您可能会发现,实现功能切换解决方案将减少发布和维护版本的需要。Martin Fowler的以下文章提供了功能切换的良好概述


@HighCore是的,有一定程度的粉丝主义。好吧。但不要更多。嗯,我甚至在.Net中找到了功能切换的特殊库:谢谢,我现在就试试这个模式。但是我可以更改应用程序名和exe文件名、图标等吗?我可以使用FT进行静态资源吗?根据可执行文件的类型,你可能有不同的选项,例如服务安装程序,但无论如何,你应该能够使用预构建事件。@HighCore是的,一定程度的粉丝主义是可以的。但不要更多。:嗯,我甚至在.Net中找到了功能切换的特殊库:谢谢,我现在就试试这个模式。但是我可以更改应用程序名和exe文件名、图标等吗?我可以将FT用于静态资源吗?取决于可执行文件的类型,您可能有不同的选项,例如服务安装程序,但无论如何,您都应该能够使用预构建事件。