Metalama.Extensions.Architecture
2026.0.20
Prefix Reserved
See the version list below for details.
dotnet add package Metalama.Extensions.Architecture --version 2026.0.20
NuGet\Install-Package Metalama.Extensions.Architecture -Version 2026.0.20
<PackageReference Include="Metalama.Extensions.Architecture" Version="2026.0.20" />
<PackageVersion Include="Metalama.Extensions.Architecture" Version="2026.0.20" />
<PackageReference Include="Metalama.Extensions.Architecture" />
paket add Metalama.Extensions.Architecture --version 2026.0.20
#r "nuget: Metalama.Extensions.Architecture, 2026.0.20"
#:package Metalama.Extensions.Architecture@2026.0.20
#addin nuget:?package=Metalama.Extensions.Architecture&version=2026.0.20
#tool nuget:?package=Metalama.Extensions.Architecture&version=2026.0.20
About
The Metalama.Extensions.Architecture package allows you to validate your source code against architecture rules both in real time, straight in the IDE, or at compile time.
Features
- Simple API: choose between custom attributes or a fluent API.
- Warnings appear as familiar C# warnings.
- Immediate feedback as you type in the IDE.
- Warnings can be suppressed using the standard mechanisms such as
#pragma warning disable. - Validate code references and dependencies.
- Validate naming conventions.
- Validate child/derived classes.
- Works across projects.
- Fully extensible using
Metalama.Extensions.Validation,Metalama.Frameworkand Roslyn. - Commercially supported.
License
This package is a commercial extension of the open-source Metalama.Framework and requires a Metalama Professional license.
Principal Types
There are two ways to use this package:
By adding to your code one of the following architecture custom attributes from the
Metalama.Extensions.Architecture.Aspectsnamespace:[CannotBeUsedFrom][CanOnlyBeUsedFrom][InternalsCannotBeUsedFrom][InternalsCanOnlyBeUsedFrom][Experimental][InternalImplementOnly][DerivedTypesMustRespectNamingConvention][DerivedTypesMustRespectRegexNamingConvention]
By using fabrics, using the extension methods in the
ArchitectureExtensionstypes
Example
The following snippet reports warnings whenever an internal type or member of the current namespace is used from a different namespace.
namespace SomeNamespace;
using Metalama.Extensions.Architecture.Fabrics;
using Metalama.Framework.Fabrics;
public class Fabric : NamespaceFabric
{
public override void AmendNamespace( INamespaceAmender amender )
{
amender.Verify().InternalsCanOnlyBeUsedFrom( UsageRule.OwnNamespace );
}
}
Documentation
- API Documentation: Metalama.Extensions.Architecture
- Conceptual Documentation: Verifying architecture
Related Packages
- Metalama.Extensions.Validation: the API on which
Metalama.Extensions.Architectureis built.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Metalama.Extensions.Validation (>= 2026.0.20)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Metalama.Extensions.Architecture:
| Package | Downloads |
|---|---|
|
Shinya.Core
Shinya.Framework |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2026.1.7-preview | 280 | 3/31/2026 |
| 2026.1.6-preview | 308 | 3/28/2026 |
| 2026.1.5-preview | 74 | 3/26/2026 |
| 2026.1.4-preview | 170 | 3/22/2026 |
| 2026.1.3-preview | 417 | 3/7/2026 |
| 2026.1.2-preview | 328 | 2/11/2026 |
| 2026.1.1-preview | 136 | 2/5/2026 |
| 2026.1.0-preview | 204 | 2/1/2026 |
| 2026.0.20 | 91 | 3/25/2026 |
| 2026.0.19 | 90 | 3/24/2026 |
| 2026.0.18 | 89 | 3/21/2026 |
| 2026.0.17 | 99 | 3/12/2026 |
| 2026.0.16 | 256 | 1/24/2026 |
| 2026.0.15 | 279 | 1/14/2026 |
| 2026.0.14 | 112 | 1/13/2026 |
| 2026.0.13 | 117 | 1/12/2026 |
| 2026.0.12 | 140 | 1/9/2026 |
| 2026.0.11 | 293 | 1/5/2026 |
| 2026.0.10-rc | 424 | 12/19/2025 |
| 2026.0.9-rc | 195 | 12/12/2025 |