mirror of
https://github.com/brutaldev/StrongNameSigner.git
synced 2026-04-25 11:26:04 +03:00
[GH-ISSUE #2] Modify internal assembly references to resolve new signed assemblies #2
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
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.
@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)