Use StrongNameKeyId rather than directly using AssemblyOriginatorKeyFile: fix PublicKeyToken #132
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The projects currently use lines like
<AssemblyOriginatorKeyFile>$(KeyFileDir)MSFT.snk</AssemblyOriginatorKeyFile>
to set the key to use for strong-name signing. This seems to conflict with the Arcade configuration method, which looks like this:The result is that the dev branch is building assemblies with the wrong PublicKeyToken. This gets caught when trying to build with bootstrap flow using intermediate nupkgs:
On compile phase 1,
NuGet.LibraryModel
compiles usingMicrosoft
key against prebuilts from NuGet.org that useShared
key in their identities. This means the intermediate nupkg contains a set of DLLs where the identity isMicrosoft
with references toShared
identities. This already won't work if used: the output doesn't fulfill its own references.On compile phase 2,
NuGet.LibraryModel
compiles usingMicrosoft
key against source-built DLLs withMicrosoft
identities and references toShared
identities.Csc
fails withCS0012
failing to load:I think that I need to rebuild SBRP with this change to generate new intermediate nupkgs that I can use to get further in the sort-of-bootstrapping work I'm doing now.
I've separated this into one commit per global find-replace. (It touches one line in basically every reference package
csproj
.)