[GH-ISSUE #2] Modify internal assembly references to resolve new signed assemblies #2

Closed
opened 2026-02-25 21:30:26 +03:00 by kerem · 1 comment
Owner

Originally created by @brutaldev on GitHub (Oct 22, 2013).
Original GitHub issue: https://github.com/brutaldev/StrongNameSigner/issues/2

Originally assigned to: @brutaldev on GitHub.

Example:
If you have a third party assembly that references another third party assembly, neither of which you have the source code for, called A.dll and B.dll. If both assemblies are unsigned, A will reference B with a null public key. When signing both assemblies, they will now have public key values when being referenced (kind of the point of having signed assemblies in the first place). Problem is, A will still have the internal reference to the unsigned version of B and will not resolve it because the public key of the new file does not match.

Need a new option in StrongNameSigner that lets you specify an assembly and update it's references to another assembly. In the example, you would need to pass in assembly A, and request reference updates to the newly signed assembly B.

Version numbers and fully qualified names also get involved here but it's mainly the public key value that is now new and breaks the references. The public key of the referenced assembly needs to be injected into the IL.

Originally created by @brutaldev on GitHub (Oct 22, 2013). Original GitHub issue: https://github.com/brutaldev/StrongNameSigner/issues/2 Originally assigned to: @brutaldev on GitHub. Example: If you have a third party assembly that references another third party assembly, neither of which you have the source code for, called A.dll and B.dll. If both assemblies are unsigned, A will reference B with a null public key. When signing both assemblies, they will now have public key values when being referenced (kind of the point of having signed assemblies in the first place). Problem is, A will still have the internal reference to the unsigned version of B and will not resolve it because the public key of the new file does not match. Need a new option in StrongNameSigner that lets you specify an assembly and update it's references to another assembly. In the example, you would need to pass in assembly A, and request reference updates to the newly signed assembly B. Version numbers and fully qualified names also get involved here but it's mainly the public key value that is now new and breaks the references. The public key of the referenced assembly needs to be injected into the IL.
kerem 2026-02-25 21:30:26 +03:00
Author
Owner

@brutaldev commented on GitHub (Nov 3, 2013):

v1.2.0.0 released, no more dependencies on external tools and assembly references are automatically corrected after signing assemblies. Changed made in MonoCecil branch (issue #3)

<!-- gh-comment-id:27643506 --> @brutaldev commented on GitHub (Nov 3, 2013): v1.2.0.0 released, no more dependencies on external tools and assembly references are automatically corrected after signing assemblies. Changed made in MonoCecil branch (issue #3)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/StrongNameSigner#2
No description provided.