首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >处理大型项目中的依赖关系...在C#/VS2008中,有没有可能在不使用项目依赖的情况下可靠地改变构建顺序?

处理大型项目中的依赖关系...在C#/VS2008中,有没有可能在不使用项目依赖的情况下可靠地改变构建顺序?
EN

Stack Overflow用户
提问于 2009-12-03 11:41:26
回答 2查看 95关注 0票数 0

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

为了举例说明,给定项目A、B和C,我希望看到...

A references C.dll

B参考C.csproj

现在的问题是,我需要确保在A.csproj之前构建C.csproj。我知道我可以使用项目依赖来控制构建顺序,但这似乎恰恰导致了我试图避免的行为……构建A总是导致构建C。我确信我可以直接修改proj或sln文件来按照我想要的顺序进行构建,但我也确信VS的自动魔术会在很短的时间内覆盖它。

有没有什么方法可以可靠地控制这个顺序,或者我在这里遗漏了一些明显的东西?

谢谢..。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-12-03 11:58:25

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

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

在我看来,从供应链管理的角度来看,解决方案== UML Package == Merge Module (所有解决方案都创建一个合并模块)

票数 1
EN

Stack Overflow用户

发布于 2009-12-03 11:55:18

您可以创建自定义的.sln文件,而不是依赖于msbuild和msbuild文件,这样,根据所选的目标,它将只生成某些程序集。如果你还不了解msbuild,那就需要学习msbuild。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1837488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档