是否有任何构建时间影响?我们的.Net解决方案中有大约30个项目,他们共享的项目是通过项目参考添加的。我正在考虑更改为dll引用,以查看是否有任何构建性能增益。 有没有人有相似的经验?请分享您的想法。
答案 0 :(得分:1)
是的,根据您设置CI的方式,可能会产生巨大影响。
解决方案是将应用程序的逻辑部分(数据访问,演示文稿,其他任何内容)分组到单独的解决方案中,并将它们转换为NuGet包。我在TFS构建,发布管理和NuGet方面取得了很大成功,可以自动化从#34;预发布"中继续交付NuGet包。到"稳定"。
您可以将PDB文件打包并用于调试目的,使用NuGet还可以帮助在不同的不同项目之间共享代码。如果项目A使用的是软件包X的1.2.3版本,但您已将软件包X更新为项目B的2.0.0版本,则项目A可以很高兴地继续使用1.2.3版本。
在进行这样的拆分时要记住一件事:
在具有文字值的所有程序集中, const
变量在编译时被替换。如果更改程序集A中的const
值,并且程序集B引用const
值,则如果不重新编译它,则程序集B中的值不会更改。您可以使用readonly
字段而不是const
来避免这种情况。