我想这(对我来说)很难:我们对.net(web)项目有要求,应该为不同的客户使用不同的配置。
示例:Cusomer A想要一个编译版本,它包括MainApplication的大部分,但排除了一些代码和两个单独的程序集。客户B想要整个MainApplication和其他程序集,例如一个不同的gui。
我做了一些研究,得出了以下设置的结论:
- 使用VisualStudio的配置管理器来引导不同的"构建",然后
- 构建项目(包括几个配置)并使用NAnt进行部署
- 排除代码或使用具有compile指令的不同代码
我们以前从未这样做过,所以我有一些问题:
- 有可能用编译指令来解决这个问题吗?(我可以想象这一点会变得非常复杂)
- 有更好的方法来适应这个项目吗(使用.net)
感谢
我建议构建一个插件系统/架构-程序集可以根据配置条目按需动态加载。不过,您可能需要编写一个单独的工具来打包进行部署(即在bin文件夹中包括不同的程序集)。
为什么不创建不同的解决方案?它们将共享一些程序集,并具有一些解决方案独有的程序集。
您可以在TFS中为这些解决方案中的每一个配置多个服务器构建,因此在仍然致力于一个源代码管理的情况下,很容易获得任何配置的构建。您使用的任何其他构建系统也是如此。