【发布时间】:2014-04-13 07:48:44
【问题描述】:
我不是 .NET 开发人员,但我需要解决一个简单的任务:创建报告,该报告将包含来自给定程序集中使用的 .Net 框架的所有类型。 当我在 VisualNDepend 中打开程序集时,我看到我需要在 ClassBrowser 中,但我不知道如何将所有这些列表导出到文件中。 如果我理解正确,我需要创建正确的 CQL 查询,然后以所需的格式导出它。 你能帮我解决这个问题吗?谢谢。
【问题讨论】:
我不是 .NET 开发人员,但我需要解决一个简单的任务:创建报告,该报告将包含来自给定程序集中使用的 .Net 框架的所有类型。 当我在 VisualNDepend 中打开程序集时,我看到我需要在 ClassBrowser 中,但我不知道如何将所有这些列表导出到文件中。 如果我理解正确,我需要创建正确的 CQL 查询,然后以所需的格式导出它。 你能帮我解决这个问题吗?谢谢。
【问题讨论】:
您可以编写的 CQLinq 代码查询是:
// <Name>All .NET Fx types used</Name>
from t in ThirdParty.Assemblies.WithNameWildcardMatchIn(
"mscorlib",
"System*",
"Microsoft.*",
"Presentation*").ChildTypes()
select t
基本上,我们在这里要求第三方程序集,按名称通配符模式过滤,仅匹配 .NET Fx 程序集。然后我们调用ChildTypes() 来获取这些程序集的所有类型。
请注意,NDepend 仅收集应用程序使用的第三方类型,因此您不会在结果中获得未使用的类型。
请注意,通过将ChildTypes() 更改为ChildMethods() 或ChildFields() 或ChildNamespaces(),您可以获得使用的.NET Fx 的方法、字段或命名空间。
要在报告中列出此类查询(不违反规则),您需要将查询保存在您应用的组中在报告的专用部分中列出该组的代码查询强>。
如果要绕过报告,也可以将结果导出为 HTML 或 XML 格式:
【讨论】: