ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:21.56KB ,
资源ID:24591028      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24591028.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(02如何从代码中生成关系图文档.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

02如何从代码中生成关系图文档.docx

1、02如何从代码中生成关系图文档查看 Visual Studio 解决方案中的源代码概述 1.打开此解决方案。2.在“体系结构”菜单中,指向“生成依赖项关系图”,然后执行下列步骤之一:单击生成显示以下各项的关系图按程序集解决方案生成的所有程序集和它们所依赖的任何外部依赖项之间的聚合依赖关系。若要查看某个程序集内的命名空间、类和方法,请在关系图上展开该程序集。外部程序集仅显示正在使用的项。按命名空间解决方案中所有命名空间和代码所依赖的任何外部命名空间之间的依赖关系。若要查看某个命名空间内的类和方法,请在关系图上展开该命名空间。外部命名空间仅显示正在使用的项。按类解决方案中所有类之间的聚合依赖关系。

2、将不会显示有关代码使用的外部类的信息。3.- 或 -4.若要查看多种类型的结构之间的依赖关系,请单击“自定义”。1.在“生成依赖项关系图”对话框中,至少单击以下各个框之一:“程序集”、“命名空间”、“类型”或“方法”。2.使用下表来筛选关系图:若要执行这些步骤查看对外部依赖关系的引用。在了解内部程序集如何基于外部程序集生成时,这一点非常有用。选择“外部”仅查看具有特定访问级别的类型和方法。例如,您可能希望通过仅选择公共类型来简化关系图。展开“访问筛选器”窗格,然后选择所需的级别。说明至少必须选择一个类型访问级别。若要减少关系图上依赖项的数量,请仅为方法选择所需的访问级别。通过将包容关系显示为嵌

3、套组并将依赖关系显示为聚合链接,从而查看高级别依赖关系。说明对于方法,依赖关系将显示为单独的链接(而不是聚合链接),因为方法是最低级别的叶节点。选中“包容显示为组”框。通过将包容关系显示为链接的节点并将依赖关系显示为单独的链接,从而查看低级别依赖关系。清除“包容显示为组”框。3.完成上述操作后,单击“确定”。Visual Studio 将创建一个定向关系图文档(.dgml 文件)并打开该文档。5.聚合依赖关系的链接的粗细大致指示了该聚合依赖关系表示多少单独的依赖关系。若要查看链接表示的依赖关系的种类,请将指针移到链接上,直至出现工具提示。说明从“体系结构”菜单生成的依赖项关系图不显示对虚方法的

4、调用(下至派生程度最大的类型)。相反,这些关系图将显示对用于声明虚拟成员的类型的依赖项。但您可以使用“体系结构资源管理器”中的“类视图”来查找这些调用。然后,可以将这些调用从“体系结构资源管理器”拖动到现有关系图中,也可以从“体系结构资源管理器”工具栏生成新的关系图。查看 Visual Studio 解决方案中的源代码中的特定依赖关系 使用“体系结构资源管理器”可查找需要可视化的代码和关系。还可以使用预定义的查询来生成关系图。1.打开此解决方案。2.如果“体系结构资源管理器”未打开,则在“体系结构”菜单上,指向“窗口”,然后单击“体系结构资源管理器”。3.在“体系结构资源管理器”的第一列中的“

5、Visual Studio”下,单击以下视图之一:o单击“类视图”以浏览代码的逻辑层次结构。用于浏览命名空间、类型、方法等。o单击“解决方案视图”以浏览代码的物理层次结构用于浏览项目、源文件等。4.在下一列中,选择要浏览的项。若要选择该列中的所有内容,请按 Ctrl+A。下一列将根据该列中项和关系的默认种类显示与所选内容相关的项。说明若要选择其他种类的项和关系,请展开包含所选内容的列右侧的折叠的列。在“节点导航”下,选择所需的项的种类。在“出站导航”或“入站导航”下,选择所需的关系的种类。5.重复步骤 4,直至选择了所有需要的项。说明若要在关系图上包括“调用”依赖关系,请浏览到所选类调用的所有

6、方法,并选择这些方法。6.若要基于所选内容创建新的关系图,请在“体系结构资源管理器”标题栏下方,单击“基于所选的全部节点创建一个新的关系图文档”。Visual Studio 将创建一个定向关系图文档(.dgml 文件)并打开该文档。- 或 -若要将所选内容添加到现有关系图或空白关系图,请执行以下步骤:1.打开现有关系图的 .dgml 文件,或创建空白关系图。2.在“体系结构资源管理器”标题栏下方,单击“将所选的全部节点添加到当前可见的关系图文档”。- 或 -将节点从“体系结构资源管理器”拖到关系图上。创建空白关系图1.若要打开空白关系图,请在“文件”菜单上指向“新建”,然后单击“文件”。- 或

7、 -若要将空白关系图添加到“解决方案项”文件夹,请在“解决方案资源管理器”中右击顶级解决方案节点,然后单击“添加新项”。2.在“已安装的模板”下单击“常规”。3.在右边的窗格中,单击“定向关系图文档”,为关系图命名,然后单击“添加”。有关可与关系图交互的不同方式的更多信息,请单击空白关系图上显示的帮助链接。使用预定义的查询浏览源代码1.打开此解决方案。2.如果“体系结构资源管理器”未打开,则在“体系结构”菜单上,指向“窗口”,然后单击“体系结构资源管理器”。3.在“体系结构资源管理器”的第一列中的“已保存的 DGQL 查询”下,单击“在文件夹中”。4.在下一列中,根据所需创建的关系图的种类,单

8、击以下查询之一:生成显示以下各项的关系图单击解决方案引用的所有程序集。从查询结果中,您可以生成显示这些程序集之间的依赖关系的关系图。All Assembly References.dgql解决方案中没有依赖项链接的所有输出程序集的简单列表。All Output Assemblies.dgql若要为所选程序集生成标准依赖项关系图,请执行以下步骤:1.在下一列中,选择所需的程序集。2.在当前列的右侧,单击折叠的操作列将其展开。说明将指针移到“操作”列上时,该列会突出显示。3.在“操作”列的“命令”下,单击“标准关系图”。解决方案中的所有项目。从查询结果中,您可以生成显示这些项目之间的引用的关系图。

9、All Project References.dgql解决方案中的所有项目的简单列表。如果您的解决方案包括解决方案文件夹,则此列表与在体系结构资源管理器中单击“解决方案视图”时显示的列表不同。All Projects.dgql解决方案中的所有类型。从查询结果中,您可以生成显示这些类型之间的继承关系的关系图。Inheritance Graph.dgql5.下一列将以简单列表的形式显示结果。尽管这些节点之间可能存在链接,但“体系结构资源管理器”将不会显示这些链接。6.若要为结果列中的所有项生成关系图(包括链接),请执行以下步骤:1.在结果列中,按 Ctrl+A 选择所有项。2.按住 Ctrl 键以

10、仅在关系图上包括当前列中的项,然后在“体系结构资源管理器”标题栏的下方,单击“基于所选的全部节点创建一个新的关系图文档”。Visual Studio 将创建一个定向关系图文档(.dgml 文件)并打开该文档。查看已编译代码概述 1.创建空白关系图,或打开现有关系图的 .dgml 文件。2.从 Visual Studio 外将 .dll 文件或 .exe 文件拖到关系图上。说明不支持从“解决方案资源管理器”的“引用”文件夹中拖动。只有在按相同的用户访问控制 (UAC) 权限级别运行 Windows 资源管理器和 Visual Studio 时,才能从 Windows 资源管理器中拖动程序集。例如

11、,如果启用了 UAC,并且您正在以管理员身份运行 Visual Studio,则 Windows 资源管理器将阻止拖动操作。若要解决此问题,请禁用 UAC 或使用预定义的查询来浏览解决方案。查看已编译代码中的特定依赖关系 1.如果“体系结构资源管理器”未打开,则在“体系结构”菜单上,指向“窗口”,然后单击“体系结构资源管理器”。2.在第一列中的“文件系统”下,单击“选择文件”。3.在“打开”框中,浏览到 .dll 文件或 .exe 文件以选择并打开这些文件。4.在下一列中,选择程序集。若要选择该列中的所有内容,请按 Ctrl+A。下一列将根据该列中项和关系的默认种类显示与所选内容相关的项。说明

12、若要选择其他种类的项和关系,请展开包含所选内容的列右侧的折叠的列。将指针移到“操作”列上时,该列会突出显示。在“节点导航”下,选择所需的项的种类。在“出站导航”或“入站导航”下,选择所需的关系的种类。5.选择以下选项之一:基于以下各项创建依赖项关系图请执行这些步骤程序集1.在包含程序集的列的右侧,单击折叠的操作列将其展开。将指针移到“操作”列上时,该列会突出显示。2.在“操作”列的“命令”下,单击“标准关系图”。类和方法3.浏览类和方法,同时选择要包括在关系图上的所有项。4.若要创建新的关系图,请在“体系结构资源管理器”标题栏下方,单击“基于所选的全部节点创建一个新的关系图文档”。Visual

13、 Studio 将创建一个定向关系图文档(.dgml 文件)并打开该文档。- 或 -若要将所选内容添加到现有关系图或空白关系图,请执行以下步骤:1.打开现有关系图的 .dgml 文件,或创建空白关系图。2.在“体系结构资源管理器”标题栏下方,单击“将所选的全部节点添加到当前可见的关系图文档”。- 或 -将节点从“体系结构资源管理器”拖到关系图上。生成关系图文档以进行批处理 若要以批处理模式生成关系图文档(.dgml 文件),请使用 GraphCmd.exe 命令行工具。例如,通过在每次生成后运此工具,可查找各个生成之间的已更改的依赖关系。若要查找此工具,请在以下文件夹中进行查找:C:Progr

14、am FilesMicrosoft Visual Studio 10.0Common7IDE。说明GraphCmd.exe 仅生成程序集或 .dgml 文件的依赖项信息,而不生成 Visual Studio 解决方案或项目文件中的源代码。GraphCmd.exe 的语法为:GraphCmd -?-all -exceptions -input File_Name -query File_Name -execDGQL_Statement -output File_Name -path alias=path下表描述 GraphCmd.exe 的选项:-?显示 GraphCmd.exe 的帮助信息。-

15、all包括所有中间查询结果,而不仅仅是最后一个节点集的中间查询结果。-exceptions以关系图文档 (.dgml) 文件的形式报告查询异常。-input 文件名处理指定的 .dgml 文件。这可用于后期处理大型 .dgml 文件并对其进行筛选,以便能够在 Visual Studio 中更轻松地对该文件进行可视化。-query 文件名运行指定的定向关系图查询语言(DGQL 或 .dgql)文件。-exec DGQL 语句 运行指定的 DGQL 语句。-output 文件名输出指定的 .dgml 文件。-path 别名=路径指定一个在 DGML 文档的输入和输出中使用的新别名。例如:Graph

16、Cmd -output MyGeneratedGraph.dgml -path MyPathAlias=C:Program Files.备注由于 GraphCmd.exe 是在 Visual Studio 外部运行的,因此对 .dgql 查询中的操作的支持是有限的。可以多次指定下列选项:-input、-query、-exec 和 -path。常用路径的别名常用路径的别名将减小 .dgml 文件的大小,并减少加载或保存该文件所需的时间。若要创建别名,请在 .dgml 文件的结尾处添加 部分。在此部分添加 元素以定义路径的别名: 若要从 .dgml 文件中的某个元素引用别名,请用美元符号 ($)

17、和括号 () 将 元素的 Id 括起来。 了解定向关系图查询语言 (DGQL)DGQL 是一种可用于生成 DGML 的轻量查询语言。DGQL 语句遵循以下节点选择和操作的交替模式:每个节点选择为下一个操作创建输入,而下一个操作的输出将成为下一个节点选择的输入,依此类推。DGQL 语句的格式为: / / / / .下表描述用于选择节点的 DGQL 语法:*选择所有节点。+ text选择所有包含“text”的节点。+ Id.Equals(text)选择所有其 Id 等于“text”的节点。+ Background.Contains(text)选择所有其 Background 特性具有包含字符串“t

18、ext”的值的节点。+ text1 + text2 + .选择所有匹配“text1”或“text2”的节点。+ MyProperty=True选择所有具有名为 MyProperty 的属性(其值为“True”)的节点。- Label.Contains(text)选择所有节点,具有包含 (Contains) 字符串“text”的 Label 特性的节点除外。+ Category.Is(MyCategory)选择所有具有名为 MyCategory 的类别的节点或从 MyCategory 继承的节点。虽然这些操作是由已在 Visual Studio 中注册的 DGML 数据提供程序提供的,但可以通过

19、保存在体系结构资源管理器中创建的查询来发现它们。下表描述了可对所选节点执行的直接操作的示例:示例操作说明Microsoft.Contains返回输入节点所包含的所有节点。可以将 Contains 替换为一个不同的链接类别。Microsoft.Open打开输入节点的源代码。说明此操作仅在 Visual Studio 中有效。Microsoft.AllOutBoundLinks返回作为来自输入节点的传出链接的目标的所有节点。Microsoft.AllInboundLinks返回作为指向输入节点的链接的源端的所有节点。Microsoft.Core.CreateGroupsByProperties调用

20、 GroupByProperties 操作。Microsoft.AllNodes返回目前为止整个关系图中包含的所有节点。数据驱动的操作仅基于输入节点和链接中的数据选择项。在使用数据驱动的操作匹配类别时,将包含继承的类别。下表描述数据驱动的操作的示例:类型说明Node:Both:Category返回具有类别 Category 并通过指向任一方向的链接与输入节点连接的所有节点。Link:Both:Category返回通过指向任一方向的链接与输入节点连接并具有类别 Category 的所有节点。Link:Backward:Category返回利用具有类别 Category 的链接指向输入节点的所有节

21、点。Link:Forward:Category返回利用具有类别 Category 的链接从输入节点指向的所有节点。提示通常,对于一组给定的输入节点存在一个“默认”操作,此操作由体系结构资源管理器自动选定。若要获取相同的行为,请使用空操作:/由于空白在 DGQL 中没有意义,因此必要时您可以设置查询的格式以适合某个行。在使用带有 GraphCmd 的 exec 选项时,这将很有用。在调试 DGQL 时,使用体系结构资源管理器中的操作“Execute Expanded”可帮助您查看查询的每个步骤,并查找未产生预期结果的步骤。示例下面的 DGQL 语句执行一条查询,如下列步骤中所述:+ Id.Equ

22、als(Microsoft.Solution.ClassView) / Microsoft.Solution.ClassView / * / Node:Both:CodeSchema_Class / + CodeSchemaProperty_IsPublic.Equals(True)1.首先,选择体系结构资源管理器的第一列中的“类视图”节点。2.执行操作“Microsoft.Solution.ClassView”,这将返回解决方案中的所有命名空间。3.使用 * 选择所有命名空间。4.通过指向任一方向的链接选择与这些命名空间相关的所有“类”。它们通常是包容链接。5.仅从生成的类中筛选出具有属性 CodeSchemaProperty_IsPublic=True 的类。从技术上说,Microsoft.Solution.ClassView 操作不是必需的操作,因为它是“类视图”节点的“默认”操作。因此,可以将此操作替换为 / 以简化查询,并在单个行上设置其格式,如下所示:+Id.Equals(Microsoft.Solution.ClassView)/*/Node:Both:CodeSchema_Class/+CodeSchemaProperty_IsPublic.Equals(True) .

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1