レイヤー検証エラーについて
レイヤー図と照らし合わせてコードを検証すると、コードが目的の設計に準拠していない場合には検証エラーが発生します。 このトピックでは、これらの検証エラーについて説明し、さらにそれらを解決または管理するために実行できることについて説明します。
エラーの構文と説明
構文 |
説明 |
---|---|
ArtifactN(ArtifactTypeN) |
ArtifactN は、レイヤー図のレイヤーに関連付けられている成果物です。 ArtifactTypeN は、クラス、メソッドなど、ArtifactN のタイプです。以下に例を示します。 MySolution.MyProject.MyClass.MyMethod(Method) |
NamespaceNameN |
名前空間の名前。 |
LayerNameN |
レイヤー図のレイヤーの名前。 |
DependencyType |
Artifact1 と Artifact2 の依存関係のタイプ。 たとえば、Artifact1 は Artifact2 と "呼び出し" 関係にあるなどです。 |
エラー |
説明 |
---|---|
AV0001: 無効な依存関係: Artifact1(ArtifactType1) --> Artifact2(ArtifactType2) レイヤー: LayerName1、LayerName2 | 依存関係: DependencyType |
LayerName1 は LayerName2 に直接依存していないため、LayerName1 の Artifact1 を LayerName2 の Artifact2 に依存させることはできません。 |
AV1001: 無効な名前空間: Artifact レイヤー: LayerName | 必要な名前空間: NamespaceName1 | 現在の名前空間: NamespaceName2 |
LayerName では、それに関連する成果物を NamespaceName1 に所属させる必要があります。 Artifact は NamespaceName1 ではなく NamespaceName2 にあります。 |
AV1002: 禁止された名前空間の使用: Artifact1(ArtifactType1) | Artifact2(ArtifactType2) レイヤー: LayerName | 禁止された名前空間: NamespaceName | 依存関係: DependencyType |
LayerName では、それに関連する成果物を NamespaceName に依存させないようにする必要があります。 Artifact2 は NamespaceName にあるため、Artifact1 を Artifact2 に依存させることはできません。 |
AV1003: 禁止された名前空間内: Artifact(ArtifactType) レイヤー: LayerName | 禁止された名前空間: NamespaceName |
LayerName では、それに関連する成果物を NamespaceName に所属させることはできません。 Artifact は NamespaceName に所属します。 |
AV3001: 不足しているリンク: 'Artifact' へのレイヤー 'LayerName' リンクが見つかりません。 アセンブリ参照が存在することを確認してください。 |
成果物への LayerName リンクが見つかりません。 たとえば、モデリング プロジェクトでクラスを含むアセンブリへの参照が欠落しているために、クラスへのリンクが欠落している場合があります。 |
AV9001: アーキテクチャの検証で内部エラーが検出されました。 結果が不完全である可能性があります。 詳細については、ビルド イベント ログの詳細または出力ウィンドウを参照してください。 |
このエラーの詳細については、「アプリケーション ライフサイクル管理ツールにおけるエラーのトラブルシューティングに関するリソース」を参照してください。 |
レイヤー検証エラーの解決
次の条件のとき、レイヤー検証エラーが発生する場合があります。
成果物が不適切なレイヤーに割り当てられている。 この場合、成果物を移動します。
クラスなどの成果物が、アーキテクチャに違反する形で別のクラスを使用している。 この場合、コードをリファクタリングして依存関係を削除します。
これらのエラーを解決するには、コードを更新して、検証時にエラーが表示されなくなるようにします。 この作業は、反復的な方法で実行します。 発生するエラーの詳細については、「アプリケーション ライフサイクル管理ツールにおけるエラーのトラブルシューティングに関するリソース」を参照してください。
レイヤー検証エラーの管理
開発プロセス中、検証時に [エラー一覧] ウィンドウで報告される一部の競合を抑制する必要がある場合があります。 たとえば、既に解決したエラーや特定のシナリオに関連しないエラーを抑制できます。 エラーを抑制した場合は、Team Foundation で作業項目をログに記録することをお勧めします。
検証エラーの作業項目を作成するには
- [エラー一覧] ウィンドウで、エラーを右クリックし、[作業項目の作成] をポイントし、作成する作業項目の種類をクリックします。
[エラー一覧] ウィンドウで検証エラーを管理するには、次の操作を行います。
目的 |
手順 |
---|---|
検証中に選択したエラーを抑制する |
エラーを 1 つ以上選択して右クリックし、[検証エラーの管理] をポイントし、[エラーの抑制] をクリックします。 抑制されたエラーは、取り消し線付きで表示されます。 次回検証を実行したとき、これらのエラーは表示されません。 抑制されたエラーは、対応するレイヤー図ファイルの .suppressions ファイルで追跡されます。 |
選択したエラーの抑制を停止する |
抑制されたエラーを 1 つまたは複数選択して右クリックし、[検証エラーの管理] をポイントし、[エラーの抑制の停止] をクリックします。 次回検証を実行したとき、抑制されたエラーのうち選択したものが表示されます。 |
[エラー一覧] ウィンドウに、抑制されたすべてのエラーを再び表示する |
[エラー一覧] ウィンドウ内の任意の場所を右クリックし、[検証エラーの管理] をポイントし、[抑制されたエラーの表示] をクリックします。 |
[エラー一覧] ウィンドウで抑制されたエラーをすべて非表示にする |
[エラー一覧] ウィンドウ内の任意の場所を右クリックし、[検証エラーの管理] をポイントし、[抑制されたエラーの非表示] をクリックします。 |