是否有任何构建时间的影响?我们的.Net解决方案中有大约30个项目,它们共享的项目是通过项目参考添加的。我正在考虑改为dll引用,以查看是否存在任何构建性能增益。有谁有过类似的经验吗?请分享你的想法。
发布于 2015-05-01 01:00:24
是的,潜在的巨大影响取决于你如何设置你的CI。
解决方案是将应用程序的逻辑部分(数据访问、表示等)分组为单独的解决方案,并将它们转换为NuGet包。我已经成功地将TFS构建、发布管理和NuGet结合在一起,实现了NuGet包从“预发布”到“稳定”的连续交付。
您也可以让它打包PDB文件以进行调试,使用NuGet也有助于在不同的不同项目之间共享代码。如果Project A使用的是包X的版本1.2.3,但是您已经将软件包X更新为项目B的2.0.0版本,那么项目A可以很高兴地继续使用1.2.3版本。
在做这样的分裂时要记住一件事:
const变量在编译时被替换为具有文字值的所有程序集的。如果在程序集A中更改const值,而程序集B引用const值,则如果不重新编译它,则程序集B中的值不会更改。您可以通过使用readonly字段而不是const来避免这种情况。
发布于 2015-04-30 23:02:02
我不知道为什么DLL引用会节省您的时间,项目引用的唯一额外费用是解决依赖树,这是您绝对希望它做的事情。
否则,如果你不小心的话,你就会得到一个每次重建都会中断的项目,并且需要几个正常的构建才能重新开始工作。
https://stackoverflow.com/questions/29979125
复制相似问题