繁体   English   中英

处理大型项目中的依赖项...是否可以可靠地更改构建顺序,而无需在C#/ VS2008中使用项目依赖项?

[英]Dealing with dependencies in a large project… Is it possible to reliably alter build order without using project dependencies in C#/VS2008?

我在VS2008中有一个旧项目,我们将开始重构以实现更好的组件化。 解决方案中的150个项目之间的引用比较混乱,因此,作为一个起点,我试图至少让我知道一些项目可以使用对其他项目的二进制引用,而其他项目可以使用二进制引用。 (出于构建时间的原因)

为了说明,给定项目A,B和C,我想看看...

引用C.dll

B引用C.csproj

现在的问题是,我需要确保在A.csproj之前先构建C.csproj。 我知道我可以使用项目依赖项来控制构建顺序,但这似乎恰好导致了我要避免的行为...构建A总是导致C生成。 我敢肯定,我可以直接使用proj或sln文件来按我想要的顺序构建事物,但是我也确信,VS的自动魔术功能很快就会覆盖它们。

有什么方法可以可靠地控制此订单,还是我在这里缺少明显的东西?

谢谢...

您可以制作自定义msbuild文件,而不是依赖于.csproj和.sln文件,这样,根据选择的目标,它只会生成某些程序集。 如果您还不知道,则需要学习msbuild。

将相关组件(.csproj)分成单独的解决方案。 这将跨程序包边界强制执行二进制引用。 它还会迫使您和其他开发人员将组件按层分组。

然后使用您的构建过程以从最低依赖包开始的正确顺序构建解决方案。

据我估计,从SCM的角度来看解决方案== UML包==合并模块(所有解决方案都创建一个合并模块)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM