65.9K
CodeProject 正在变化。 阅读更多。
Home

VC 项目的自动生成依赖项 (ABD) 插件,适用于 .NET 2003

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.67/5 (7投票s)

2005 年 1 月 28 日

3分钟阅读

viewsIcon

63275

downloadIcon

799

Visual Studio .NET 2003 插件,可自动设置 VC 项目的生成依赖项并生成链接库依赖图。

引言

有一段时间,我一直在寻找一种方法来自动设置 VS.NET 中 VC 项目在给定解决方案中的“生成依赖项”。我在网上找不到任何工具、插件或宏,于是我决定自己做一个工具。

另外,在 CodeProject 上,我偶然发现了 iLFis 的项目(“依赖图生成器”),该项目可以生成现有生成依赖项的图。所以,我想应该先完成前面那些步骤。因此,这个插件会自动设置你解决方案中每个 VC 项目的生成依赖项。

此外,它还可以根据每个 VC 项目属性中设置的链接库,生成解决方案中 VC 项目之间依赖关系的树状图。

这些图仅显示你解决方案中现有项目之间的依赖关系,而不包括与外部第三方库/项目之间的依赖关系。但图表显示了每个项目完整的依赖树(不仅仅是它直接依赖的库,还包括递归依赖)。它还会生成整个解决方案的完整依赖树。

背景

与此项目所基于的 iLFis 项目一样,它使用了优秀的 Graphviz 工具来生成图表。

以下是这个项目背后的一些基本思想:

  • 对于解决方案中的每个 VC 项目,我都会创建一个它链接的 .lib 文件列表(来自“附加依赖项”)。
  • 对于每个 VC 项目,我只保留解决方案中存在的已链接 lib 文件。
  • 对于每个 VC 项目,我递归地删除分支中的重复条目。

它有一个非常基本的树创建/管理机制。

限制

  • 它无法检测你是否存在依赖循环(这非常糟糕)。

安装

  • 请从 此处 安装 Graphviz。
  • 使用 setup.exe 安装程序来安装 ABD 插件。

用法

要使用此工具,请执行以下操作:

  1. 运行 Visual Studio .NET。
  2. 打开你想要处理的解决方案(.sln)。

现在,在你的“工具”菜单中有一个新的弹出菜单:ABDAddin...

  1. 设置生成依赖项:警告:该工具将更新你 .sln 文件中的生成依赖项。因此,如果你不确定你在做什么,在使用此工具之前,请先复制一份你的 .sln 文件。我将不对任何损失或损坏负责。
  2. ABD 项目图:生成所有项目的理论生成依赖项图。
  3. ABD 解决方案图:生成整个解决方案的理论生成依赖项图。

你可以通过“解决方案资源管理器”和“类视图”中的上下文菜单来访问这些命令。

你的解决方案的上下文菜单现在有一个 ABDAddin 弹出菜单。你可以在选定项目的上下文菜单中访问“ABD 项目图”命令。(此命令将仅为选定项目生成图表。)

ABDAddin 还有一个“工具-选项”对话框中的选项页面。

关注点

这个个人 C# 项目实际上是我第一次尝试使用这种语言。我来自 C++/MFC/OpenGL 世界。所以,代码肯定会有多次更新来提高性能,因为我写的是基础的 C# 代码(作为 C++ 开发者,现在的代码在我看来很丑)。

对于 2.0 版本,我在核心的自动生成依赖项代码方面没有做太多改进,但我主要花时间理解了 Command、CommandBars 和 VS 插件的功能。

历史

  • 版本 1.0 2005 年 1 月 28 日 - 初始发布。
  • 版本 2.0 - 2005 年 2 月 16 日
    • 将工具转换为 Visual Studio .NET 插件。
    • 在设置生成依赖项后,可以独立生成图表。
    • 可以通过“类视图”和“解决方案资源管理器”的上下文菜单生成选定项目的图表。
    • 在“工具-选项”中添加插件选项,以便选择输出文件夹、配置类型。
    • 在 Visual Studio 中输出图表。
© . All rights reserved.