我有一个大的 c # 解决方案文件(大约100个项目) ,我正在努力提高构建时间。我认为“复制本地”在许多情况下对我们来说是浪费,但我想知道最佳实践。
在我们的。我们的应用程序 A 依赖于程序集 B,而程序集 B 依赖于程序集 C。在我们的例子中,有几十个“ B”和少量的“ C”。因为这些都包含在。Sln,我们使用项目引用。当前构建到 $(SolutionDir)/Debug (或发布)中的所有程序集。
默认情况下,Visual Studio 将这些项目引用标记为“ Copy Local”,这将导致每个“ C”被复制到 $(SolutionDir)/Debug 中,每个“ B”被构建一次。这看起来很浪费。如果我把“本地复制”关掉会出什么问题呢?其他拥有大型系统的人做什么?
后续:
许多回复建议将构建分解为更小的版本。在上面的例子中,我首先构建基础类“ C”,然后是大量的模块“ B”,然后是一些应用程序“ A”。在这个模型中,我需要从 B 中获得对 C 的非项目引用。我遇到的问题是,“ Debug”或“ Release”被嵌入到提示路径中,我最终构建了“ B”版本的发布版本,而“ C”版本的调试版本则构建了“ B”版本的发布版本。
对于那些将构建分解为多个.sln 文件的用户,您如何处理这个问题?