Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 8 additions & 4 deletions docs/standard/library-guidance/strong-naming.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Strong naming and .NET libraries
description: Best practice recommendations for strong naming .NET libraries.
ms.date: 10/16/2018
ms.date: 10/13/2025
---
# Strong naming

Expand Down Expand Up @@ -34,14 +34,18 @@ The benefits of strong naming on .NET Framework are:

Strong naming has no benefits on .NET Core/5+. C# compiler produces CS8002 warning for strong-named assemblies referencing non-strong named assemblies. It is fine to suppress this warning for libraries that target .NET Core/5+ only.

## Create strong named .NET libraries
## When to strong name .NET libraries

You should strong name your open-source .NET libraries if their targets include .NET Framework or .NET Standard. Strong naming is not required for libraries that target .NET Core/5+ only.
Strong naming is not required for libraries that target .NET Core/5+ only. You should strong name your open-source .NET libraries if their targets include .NET Framework or .NET Standard.

> [!NOTE]
> This guidance is specific to publicly distributed .NET libraries, such as .NET libraries published on NuGet.org. Strong naming is not required by most .NET applications and should not be done by default.

✔️ CONSIDER strong naming your library's assemblies.
✔️ CONSIDER strong naming your library's assemblies if you only target .NET Framework or .NET Standard.

> Strong naming has no impact on modern .NET runtimes. If your library only targets modern .NET, then you don't need to strong name your assemblies.

> If you multi-target across .NET Framework/.NET Standard _and_ modern .NET, then you should strong name across all of your Target Frameworks.

✔️ CONSIDER adding the strong naming key pair (public + private) to your source control system.

Expand Down