加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 从csproj文件构建依赖关系树

发布时间:2020-12-16 01:29:23 所属栏目:百科 来源:网络整理
导读:我目前正在使用msbuild来解决600多个项目. 想象一下,我更改了10个项目使用的1个库的代码.而不是将所有600个项目提供给msbuild,让它编译所有这些项目并找出依赖项.我想知道是否有一个我可以使用的程序或库来分析所有600个项目的依赖项,并允许我只编译必要的11
我目前正在使用msbuild来解决600多个项目.

想象一下,我更改了10个项目使用的1个库的代码.而不是将所有600个项目提供给msbuild,让它编译所有这些项目并找出依赖项.我想知道是否有一个我可以使用的程序或库来分析所有600个项目的依赖项,并允许我只编译必要的11个项目.

换句话说,考虑到要扫描的所有600个项目的输入,以及BaseLibrary.csproj作为已修改参数的项目,仅提供我需要编译为输出的11个项目.

我在编写自定义任务方面经验丰富,我只想使用第三方库进行依赖性分析,如果已有的那样.

我公司每3-4个月对生产进行一次增量发布.作为一个实验,我编写了一个自定义任务,查看以前版本的“Subversion标记”,并评估自那时以来已更改的所有已编译文件,并将它们映射到项目.

我能想到的唯一不能使用的用例是我提到的基础库更改而系统不知道所有依赖它的项目.

解决方法

你试过 .NET assembly dependency analyser吗?

它是开源的,dot script中的图形输出可能就是您所需要的.该网站的一个例子:

digraph G { 
      size="100,69"
      center=""
      ratio=All
      node[width=.25,hight=.375,fontsize=12,color=lightblue2,style=filled]
      1 -> 9;
      1 -> 11;
      9 -> 10;
      11 -> 10;
      1 [label="Drew.Controls.Map"];
      9 [label="Drew.Types"];
      10 [label="nunit.framework"];
      11 [label="Drew.Util"];
 }

使用项目列表和此脚本输出,您可以创建编译列表.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读