Joh*_*lph 3 .net msbuild version-control project-management
设计构建系统/项目结构的常见做法是什么,允许针对具有不同功能集的多个.NET版本?
特别:
我尝试过几种不同的方法.
我排除了分支,因为使用SVN/TFS保持所有分支同步有点困难.分布式SCC确实有更高级的分支/合并支持,所以我打算重新考虑这种方法,如果我转换.
我使用条件编译以及使用链接源文件的特定于版本的项目.我在这些方面做过的最积极的图书馆是Nito.Linq,尚未发布.但是,您可以查看源代码,了解我如何设置项目.它目前针对 3.5,4.0,SL3和SL4,并且每种都具有"带Rx"和"无Rx"变体.我也有CF 3.5工作,但VS2010不支持它.
这种方法有一些缺点:
我确实问过Rx团队如何处理这种情况(他们支持3.5,4.0,SL3和SL4使用相同的代码库).显然,他们使用自定义内部工具来创建运行时程序集的仅元数据版本,然后将它们组合到包含合并的仅元数据程序集的超集配置文件中.该项目是根据此超集配置文件构建的,并且进行了后期编译"重定向"以将项目的配置文件更改为其中一个正常配置文件.
我简单地介绍了构建Rx团队工具的开源等效工具,但遇到了太多"未被记录的"障碍.理论上它应该是可能的,但我认为对于没有Microsoft内部正确联系人的人来说,这将花费太多时间.
| 归档时间: |
|
| 查看次数: |
434 次 |
| 最近记录: |