Codebelt

Strong Name Signing for .NET

A focused skill for creating `.snk` files and wiring assembly signing into modern .NET workflows.

.NET · NuGet · Engineering 8 installs .NET assemblies NuGet packages CLI agents IDE agents

Overview

Strong Name Signing for .NET keeps assembly signing practical in environments where sn.exe or a full Visual Studio developer shell is either unavailable or undesirable. It generates a .snk key by using .NET cryptography directly, making the workflow work in a normal terminal session and across modern agent hosts.

This is intentionally a focused skill. It is designed to solve the key-generation step cleanly so library and package scaffolding workflows can stay deterministic instead of branching into machine-specific signing instructions.

Concepts

  • Toolchain independence: the skill avoids old assumptions about Windows-only signing utilities and developer-shell requirements.
  • Identity over secrecy: the guidance stays aligned with Microsoft's view that strong names are about assembly identity, which helps frame whether a key should be committed or handled privately.
  • Small surface, high leverage: it does one thing, but that one thing unlocks a larger packaging and release pipeline.
  • Repository-friendly output: the generated key name and placement are meant to fit normal Directory.Build.props conventions.

Usage guidance

Use this skill after scaffolding a signed library, or any time a repository needs a new strong-name key without detouring through Visual Studio setup. It is especially useful in automation, remote terminals, or cross-platform environments where the traditional tooling path is awkward.

Keep the scope narrow: generate the key, place it where the project expects it, and then let the consuming build configuration handle the rest of the signing workflow.