When you drag items to the dependency diagram, references to the corresponding .
NET assemblies or projects are added automatically to the Layer References folder in the modeling project.
When you run validation the next time, these errors will not appear.
Suppressed errors are tracked in a .suppressions file for the corresponding dependency diagram file.
You can also use the command prompt to run the msbuild command with the /p: Validate Architecture custom property set to True.
For example, as you make changes in the code, perform layer validation regularly so that you can catch dependency conflicts early.
Validation does not work on dependency diagrams that are copied from other dependency diagrams in Solution Explorer and that are in the same modeling project.
This issue is reported when a code element (namespace, type, member) mapped to a Layer references a code element mapped to another layer, but there is no dependency arrow between these layers in the dependency validation diagram containing this layers. This issue is reported on a code element associated with a layer which "Allowed Namespace Names" property does not contain the namespace in which this code element is defined. Note that the syntax of "Allowed Namespace Names" is to be a semi-colon list of namespaces in which code elements associated with are layer are permitted to be defined.You can validate code manually from an open dependency diagram in Visual Studio or from a command prompt.You can also validate code automatically when running local builds or Team Foundation Build.This issue is reported on a code element associated with a layer and referencing another code element defined in a namespace which is defined in the "Unreferenceable Namespace" property of the layer. Note that the "Unreferenceable Namespaces" property is defined as a Semi-colon separated list of namespaces that should not be referenced in code elements associated with this layer.This issue is reported on a code element associated with a layer which "Disallowed Namespace Names" property contains the namespace in which this code element is defined. Note that the "Disallowed namespace name" property is defined as a Semi-colon separated list of namespaces in which code elements associated with this Layer should not be defined.