如何获取 C# 项目之间的依赖关系图

2024-05-04

我有一个相当复杂的应用程序,它已分解为多个组件。每个组件都有一个解决方案文件,其中包含一堆项目。所以我喜欢将其视为一个包含多个项目/dll 的组件。还有一个“通用”组件。所有其他组件都依赖于“common”。所以编译是这样的:"nant component1.compile"将编译“common”,然后编译 component1,因为 component1 依赖于“common”。 随着时间的推移,“常见”已经变得相当大了。我很确定它可以分成几个更小的组件。那么组件只需要依赖于其中一些较小的、分解的“公共”。这有望减少不同组件的编译时间。

所以问题: 我想可视化应用程序中所有不同项目之间的依赖关系,同时标记项目所属的组件。你会怎么做?


你可以看看 NDepend :http://www.ndepend.com/ http://www.ndepend.com/

edit to add:

帕特里克·斯马基亚 https://stackoverflow.com/users/27194,NDepend 的首席开发人员,博客在这里:http://codebetter.com/blogs/patricksmacchia/default.aspx http://codebetter.com/blogs/patricksmacchia/default.aspx并且写了很多关于组件化主题的文章,您可能会发现它们很有用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何获取 C# 项目之间的依赖关系图 的相关文章

  • EntityHydrate 任务失败

    我最近安装了 Visual Studio 11 Beta 和 Visual Studio 2010 之后 我无法在 Visual Studio 2010 中构建依赖于 PostSharp 的项目 因此我卸载了 Visual Studio 1
  • 为什么 C 程序使用 Scanf 给出奇怪的输出?

    我目前正在学习 C 编程 并且遇到了这个奇怪的输出 Program will try functionalities of the scanf function include
  • 无法继承形状

    为什么我不能使用继承 a 的类Shapes class http msdn microsoft com en us library ms604615 28v vs 90 29 我需要延长Rectangle具有一些方法的类 但我想以与使用相同
  • 在 Mono 中反序列化 JSON 数据

    使用 Monodroid 时 是否有一种简单的方法可以将简单的 JSON 字符串反序列化为 NET 对象 System Json 只提供序列化 不提供反序列化 我尝试过的各种第三方库都会导致 Mono Monodroid 出现问题 谢谢 f
  • Selenium - C# - Webdriver - 无法找到元素

    在 C 中使用 selenium 我试图打开浏览器 导航到 Google 并找到文本搜索字段 我尝试下面的 IWebDriver driver new InternetExplorerDriver C driver Navigate GoT
  • 如何修复错误:“检测到无法访问的代码”

    我有以下代码 private string GetAnswer private int CountLeapYears DateTime startDate return count String answer GetAnswer Respo
  • 防止控制台应用程序中的内存工作集最小化?

    我想防止控制台应用程序中的内存工作集最小化 在Windows应用程序中 我可以这样做覆盖 SC MINIMIZE 消息 http support microsoft com kb 293215 en us fr 1 但是 如何在控制台应用程
  • 混合模型优先和代码优先

    我们使用模型优先方法创建了一个 Web 应用程序 一名新开发人员进入该项目 并使用代码优先方法 使用数据库文件 创建了一个新的自定义模型 这 这是代码第一个数据库上下文 namespace WVITDB DAL public class D
  • LinkLabel 无下划线 - Compact Framework

    我正在使用 Microsoft Compact Framework 开发 Windows CE 应用程序 我必须使用 LinkLabel 它必须是白色且没有下划线 因此 在设计器中 我将字体颜色修改为白色 并在字体对话框中取消选中 下划线
  • 条件类型定义

    如果我有一小段这样的代码 template
  • 如何在 Javascript 中连接 C# ActiveX 事件处理程序

    我尝试使用几个代码片段将 ActiveX 对象与 Javascript 事件处理程序挂钩 我无法确定为什么事件处理程序没有被调用 带有项目的 Github 存储库 https github com JesseKPhillips Csharp
  • MySQL 连接器 C++ 64 位在 Visual Studio 2012 中从源代码构建

    我正在尝试建立mySQL 连接器 C 从源头在视觉工作室2012为了64 bit建筑学 我知道这取决于一些boost头文件和C 连接器 跑步CMake生成一个项目文件 但该项目文件无法编译 因为有一大堆非常令人困惑的错误 这些错误可能与包含
  • 读取依赖步行者输出

    I am having some problems using one of the Dlls in my application and I ran dependency walker on it i am not sure how to
  • 在哪里可以找到 Microsoft.Build.Utilities.v3.5

    如何获取 Microsoft Build Utilities v3 5 我正在使用 StyleCop 4 7 Stylecop dll 中的 StyleCop msbuild 任务似乎依赖于 Microsoft Build Utilitie
  • 如何在C#中控制datagridview光标移动

    我希望 datagridview 光标向右移动到下一列 而不是在向单元格输入数据后移动到下一行 我试图通过 dataGridView1 KeyDown 事件捕获键来控制光标 但这并不能阻止光标在将数据输入到单元格后移动到下一行 提前感谢你的
  • C:设置变量范围内所有位的最有效方法

    让我们来int举个例子 int SetBitWithinRange const unsigned from const unsigned to To be implemented SetBitWithinRange应该返回一个int其中所有
  • .Net Reactive Extensions Framework (Rx) 是否考虑拓扑顺序?

    Net 反应式扩展框架是否按拓扑顺序传播通知以最大限度地减少更新量 就像 Scala Rx 所做的那样 Net 反应式扩展 Rx 是否可以 https github com lihaoyi scala rx wiki How it Work
  • 声明一个负长度的数组

    当创建负长度数组时 C 中会发生什么 例如 int n 35 int testArray n for int i 0 i lt 10 i testArray i i 1 这段代码将编译 并且启用 Wall 时不会出现警告 并且似乎您可以分配
  • 如果找不到指定的图像文件,显示默认图像的最佳方式?

    我有一个普通的电子商务应用程序 我将 ITEM IMAGE NAME 存储在数据库中 有时经理会拼错图像名称 为了避免 丢失图像 IE 中的红色 X 每次显示产品列表时 我都会检查服务器中是否有与该产品相关的图像 如果该文件不存在 我会将其
  • ContentDialog Windows 10 Mobile XAML - 全屏 - 填充

    我在项目中放置了一个 ContentDialog 用于 Windows 10 上的登录弹出窗口 当我在移动设备上运行此项目时 ContentDialog 未全屏显示 并且该元素周围有最小的填充 在键盘上可见 例如在焦点元素文本框上 键盘和内

随机推荐

  • 从应用服务中运行的 .net core 应用程序发送日志以进行日志分析

    我尝试寻找 net core 2 0 应用程序将应用程序日志发送到日志分析工作区的最简单方法 该应用程序在azure中的应用服务下运行 我尝试启用 诊断设置 并将日志存档到日志分析 但是 我没有在 AppServiceHTTPLogs 中看
  • 两个具有共享缓冲区的等待线程(生产者/消费者)

    我试图让一堆生产者线程等待 直到缓冲区有空间容纳某个项目 然后将项目放入缓冲区 如果没有更多空间 则返回睡眠状态 同时应该有一堆消费者线程等待 直到缓冲区中有东西 然后尽可能地从缓冲区中获取东西 如果缓冲区为空则返回睡眠状态 在伪代码中 这
  • 如何使用 #pragma 在 G++ 中启用优化

    我想在没有命令行参数的情况下启用 g 优化 我知道 GCC 可以通过写来做到这一点 pragma GCC optimize 2 在我的代码中 但它似乎在 G 中不起作用 此页面可能有帮助 http gcc gnu org onlinedoc
  • 我如何解决 React+Material UI 中的此错误

    当我尝试在 Mac 和 Ubuntu 中运行该应用程序时 出现以下错误 但在Windows平台下运行没有任何错误 我该如何解决这个问题 Material UI beta 版本 v1 0 0 beta 46 中是否有任何平台特定的代码 我使用
  • pandas 数据框中不重叠的滚动窗口

    我熟悉 Pandas 滚动窗口函数 但它们的步长始终为 1 我想在 Pandas 中执行移动聚合函数 但条目不重叠 In this Dataframe df rolling 2 min 将产生 N A 519 566 727 1099 12
  • 场景 - 根据 iPad 或 iPhone 使用专用故事板

    Apple 现在希望我们使用 场景 而不是窗口和屏幕来显示 iPad 和 iPhone 的内容 现在添加了对场景的支持 我似乎失去了使用故事板定位 iPad 或 iPhone 的能力 I set my scenes inside plist
  • 突然我无法为 iPhone 模拟器构建

    有时人们真的很讨厌苹果的开发环境 说真的 有必要这么复杂吗 我的问题是这样的 我无法再在模拟器上构建我的项目 我收到以下错误 我意识到这是一个链接器错误 我不明白的是 1 为什么它突然不再工作 2 它为什么不会选择正确的 SDK 这是链接器
  • 检测字符串中的所有大写字母

    我在尝试在 JavaScript 中编写正则表达式时遇到问题 该正则表达式可以检测以全部大写字母键入的至少 2 个字符的整个单词 这是我尝试过的并且似乎有效 b Wa z0 9 b 但是 我会检测用户是否开始字符串 我喜欢你 因为 I 是大
  • Objective-C 中如何检查一个字符是否为数字?

    我需要检查一个字符是否是数字 NSString strTest Test55 char c strTest characterAtIndex 4 我需要找出 c 是否是数字 我怎样才能在 Objective C 中实现这个检查 Note 返
  • Android 模拟器冻结

    在上一个 SDK 版本发布之前 我的 Android 模拟器在 x86 架构上运行得非常好 安装了 Intel HAXM 并在 AVD Manager 中为设备启用了 GPU 使用最新的 SDK 版本 我重新安装了 Windows 从 8
  • 如何点击粘贴?它适用于谷歌文档

    我希望能够在用户单击时启动真正的粘贴事件 我可以理解这可能是一个安全问题 因为如果任何网页可以访问用户剪贴板 那就不好了 所以我认为所有浏览器都不允许访问剪贴板数据 但例如在 google 文档 在类似 word 的应用程序中 中 我可以从
  • 如何使水平条形图可滚动?

    目前正在尝试使用 MPAndroidChart 实现 Horizo ntalBarChart 但是 条形图太多 无法全部显示在屏幕上 仅当我放大时 Horizo ntalBarChart 才会滚动 但永远不会超过屏幕上已有的内容 不确定这是
  • Powershell send-mailmessage - 向多个收件人发送电子邮件

    我有这个 powershell 脚本来发送带有附件的电子邮件 但是当我添加多个收件人时 只有第一个收件人收到消息 我已经阅读了文档 但仍然无法弄清楚 谢谢 recipients Marcel lt email protected cdn c
  • 地图中的最大元素数

    GO 中的 Map 最多可以存储多少个元素 如果我需要经常从 Map 访问数据 那么在长时间运行的程序中不断向 Map 添加项目并从中检索项目是一个好主意吗 除了map length类型的最大值之外 map中的元素数量没有理论上的限制 in
  • Python 原始字符串和尾随反斜杠[重复]

    这个问题在这里已经有答案了 我曾经遇到过一些东西 想知道它是否是一个 Python bug 或者至少是一个错误功能 我很好奇是否有人知道这种行为的任何理由 我刚刚在阅读 Code Like a Pythonista 时想到了这一点 到目前为
  • 在龙卷风下运行 Pyramid WSGI 应用程序

    Pyramid 使用它自己的 Waitress Web 服务器进行开发 但我想在 Tornado 下为我的 WSGI 应用程序提供服务 我想我应该使用 pserve ini 文件配置它 但我无法让它工作 Pyramid 应用程序可以轻松地从
  • 如何选择使用 C# 的 CodeDom 编译器的目标框架?

    因此 我有一个用 C 编写的 CodeDOM 编译器 它应该根据其资源之一编译另一个应用程序 如何更改资源 或编译器输出的可执行文件 的目标 NET 框架 您可以使用以下命令将选项传递给编译器以下构造函数 http msdn microso
  • 是否可以在我的 Azure DevOps 构建管道“发布工件”任务中有条件地设置工件名称?

    我想知道是否可以在 Azure DevOps 构建管道 发布工件 任务中有条件地设置构建工件的名称 我想根据构建管道的输入生成不同的工件 比如说 根据输入管道变量 我想生成三个工件之一 红色 蓝色 绿色 是否可以根据输入变量指定在我的 发布
  • django-storages boto3 访问私有文件的文件 url

    我正在尝试在我创建的测试模型中获取文件的生成 URL 我正在尝试通过以下方式获取文件的正确网址 modelobject file url如果文件是公开的 它确实会给我正确的网址 但是如果文件是私有的 它不会自动为我生成签名的网址 这通常是如
  • 如何获取 C# 项目之间的依赖关系图

    我有一个相当复杂的应用程序 它已分解为多个组件 每个组件都有一个解决方案文件 其中包含一堆项目 所以我喜欢将其视为一个包含多个项目 dll 的组件 还有一个 通用 组件 所有其他组件都依赖于 common 所以编译是这样的 nant com