Skip to content

Fix invalid strong name signature caused by PublicSign on non-Windows builds#467

Merged
drewnoakes merged 2 commits intomainfrom
copilot/fix-metadataextractor-strong-name
Apr 8, 2026
Merged

Fix invalid strong name signature caused by PublicSign on non-Windows builds#467
drewnoakes merged 2 commits intomainfrom
copilot/fix-metadataextractor-strong-name

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 8, 2026

Since v2.9.1, MetadataExtractor.dll has shipped with an invalid strong name signature, breaking GAC deployment and strongly-signed host assemblies. sn.exe -v fails; [AssemblyName]::GetAssemblyName() returns no public key token.

Root cause

The project had:

<PublicSign Condition=" '$(OS)' != 'Windows_NT' ">true</PublicSign>

The NuGet release workflows run on ubuntu-latest, so PublicSign=true — which embeds the public key token but replaces the actual RSA signature with zeros. sn.exe -T still reports the token, but sn.exe -v fails because there's no real signature.

Fix

Remove the PublicSign condition. MetadataExtractor.snk is a full RSA key pair (PRIVATEKEYBLOB, magic 0702), so the .NET SDK performs real strong name signing on Linux without any workaround needed.

Copilot AI changed the title [WIP] Fix missing valid strong name for MetadataExtractor.dll Fix invalid strong name signature caused by PublicSign on non-Windows builds Apr 8, 2026
Copilot AI requested a review from drewnoakes April 8, 2026 05:44
@drewnoakes drewnoakes marked this pull request as ready for review April 8, 2026 05:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

MetadataExtractor.dll missing valid strong name since v2.9.1

2 participants