了解层验证错误
在对照层关系图验证代码时,如果代码不符合预期设计,则会出现验证错误。 本主题有助于解释这些验证错误,以及您可以执行什么操作来解决或管理这些错误。
错误语法和说明
语法 |
说明 |
---|---|
项目 N(项目类型 N) |
项目 N 是与层关系图上的层关联的项目。 项目类型 N 是项目 N 的类型,例如“类”或“方法”,例如: MySolution.MyProject.MyClass.MyMethod(Method) |
命名空间名称 N |
命名空间的名称。 |
层名称 N |
层在层关系图上的名称。 |
依赖关系类型 |
项目 1 和项目 2 之间的依赖项关系的类型。 例如,项目 1 与项目 2 具有“调用”关系。 |
错误 |
说明 |
---|---|
AV0001: 无效的依赖项: 项目 1(项目类型 1) --> 项目 2(项目类型 2) 层: 层名称 1, 层名称 2 | 依赖项: 依赖关系类型 |
层名称 1 中的项目 1 不应依赖于层名称 2 中的项目 2 ,原因是层名称 1 不直接依赖于层名称 2。 |
AV1001: 无效的命名空间: 项目 层: 层名称 | 必需的命名空间: 命名空间名称 1 | 当前的命名空间: 命名空间名称 2 |
层名称要求其关联的项目必须属于命名空间名称 1。 项目位于命名空间名称 2 中,但不在命名空间名称 1 中。 |
AV1002: 依赖于禁止的命名空间: 项目 1(项目类型 1) | 项目 2(项目类型 2) 层: 层名称 | 禁止的命名空间: 命名空间名称 | 依赖项: 依赖关系类型 |
层名称要求其关联的项目必须不依赖于命名空间名称。 项目 1 不能依赖于项目 2,原因是项目 2 位于命名空间名称中。 |
AV1003: 在禁止的命名空间中: 项目(项目类型) 层: 层名称 | 禁止的命名空间: 命名空间名称 |
层名称要求其关联的项目不能属于命名空间名称。 项目属于命名空间名称。 |
AV3001: 缺少链接: 找不到层“层名称”链接到的“项目”。 是否缺少程序集引用? |
找不到层名称链接到的项目。 例如,由于建模项目缺少对包含某个类的程序集的引用,因此可能缺少指向该类的链接。 |
AV9001: 体系结构分析遇到了内部错误。 结果可能不完整。 有关更多信息,请参见详细的生成事件日志或输出窗口。 |
若要请求有关此错误的更多信息,请参见用于排除 Application Lifecycle Management 工具错误的资源。 |
解决层验证错误
以下情况可能会导致层验证错误发生:
将项目指派给了错误的层。 在这种情况下,请移动项目。
项目(例如类)以与您的体系结构相冲突的方式使用了其他类。 在这种情况下,请重构代码以移除依赖关系。
若要解决这些错误,请更新代码,直至验证过程中不出现其他错误为止。 可以反复执行此任务。 若要请求有关您遇到的错误的更多信息,请参见用于排除 Application Lifecycle Management 工具错误的资源。
管理层验证错误
在开发过程中,您可能需要在验证期间禁止显示**“错误列表”**窗口中报告的某些冲突。 例如,您可能希望禁止显示您已解决或与特定情形不相关的错误。 禁止显示错误时,最好在 Team Foundation 中记录工作项。
为验证错误创建工作项
- 在**“错误列表”窗口中,右击错误,指向“创建工作项”**,然后单击要创建的工作项类型。
使用以下任务来管理**“错误列表”**窗口中的验证错误:
若要 |
请执行这些步骤 |
---|---|
禁止在验证过程中显示选定的错误 |
右击一个或多个所选错误,指向“管理验证错误”,再单击“禁止显示错误”。 禁止显示的错误在显示时均带有删除线格式。 在您下次运行验证时,这些错误将不会显示。 系统会在相应层关系图文件的 .suppressions 文件中对禁止显示的错误进行跟踪。 |
停止禁止显示选定的错误 |
右击所选的禁止显示的一个或多个错误,指向“管理验证错误”,然后单击“停止禁止显示错误”。 在您下次运行验证时,这些所选的禁止显示的错误将会显示。 |
在“错误列表”窗口中还原所有禁止显示的错误 |
在“错误列表”窗口中的任意位置右击,指向“管理验证错误”,然后单击“显示所有禁止显示的错误”。 |
从“错误列表”窗口中隐藏所有禁止显示的错误 |
在“错误列表”窗口中的任意位置右击,指向“管理验证错误”,然后单击“隐藏所有禁止显示的错误”。 |