是否有任何构建时间影响?我们的 .Net 解决方案中有大约 30 个项目,它们共享的项目是通过项目引用添加的。我正在考虑更改为 dll 引用,以查看是否有任何构建性能提升。有没有人有类似的经验?请分享你的想法。
问问题
1715 次
2 回答
1
我不知道为什么 DLL 引用会节省您的时间,项目引用的唯一额外费用是解决依赖关系树,这是您绝对希望它做的事情。
否则,如果您不小心,您最终会得到一个项目,每次您重建时都会中断,并且需要几个正常的构建才能再次开始运行。
于 2015-04-30T23:02:02.723 回答
1
是的,这可能会产生巨大的影响,具体取决于您如何设置 CI。
解决方案是将应用程序的逻辑部分(数据访问、表示等)分组到单独的解决方案中,并将它们转换为 NuGet 包。我在将 TFS 构建、发布管理和 NuGet 结合起来以自动化从“预发布”到“稳定”的 NuGet 包的持续交付方面取得了很多成功。
您也可以将其打包 PDB 文件以用于调试目的,并且使用 NuGet 还有助于在不同的不同项目之间共享代码。如果项目 A 正在使用版本 1.2.3 的包 X,但您已将包 X 更新到版本 B 的版本 2.0.0,项目 A 可以愉快地继续使用版本 1.2.3。
进行这样的拆分时要记住的一件事:
const
变量在编译时在所有程序集中被替换为文字值。如果您更改了const
程序集 A 中的值,并且程序集 B 引用了该const
值,则如果您不重新编译它,则程序集 B 中的值不会更改。您可以通过使用readonly
字段而不是const
.
于 2015-05-01T01:00:24.240 回答