Skip to content
This repository has been archived by the owner on Jan 25, 2022. It is now read-only.

Latest commit

 

History

History
75 lines (52 loc) · 3.42 KB

Readme.md

File metadata and controls

75 lines (52 loc) · 3.42 KB

AIT.VSTS.PackageStrongifier

! This project wil go into an archived status and will no longer be maintained !

The Package Strongifier build task allows you to download NuGet packages, sign them and create signed packages in your own NuGet feed. This simplifies the usage of unsigned NuGet packages as you just use the signed version of your own feed just like any other package.

Other solutions like https://github.com/brutaldev/StrongNameSigner, https://www.nuget.org/packages/Nivot.StrongNaming/ or similar approaches change your build pipeline and hook into msbuild and sign references before doing the actual compilation. This complicates the build process and makes failures a lot more difficult to analyse and debug.

Be sure to check out if you actually need strong named packages:

Build

See Contribution.md

How to

  1. Build (see Contribution.md)

  2. Install extension (upload on http://tfs.myserver:8080/tfs/_gallery/manage) See https://stackoverflow.com/questions/40810914/how-do-you-install-extension-vsix-files-to-tfs-2015-update-3

  3. Setup build with the new Build task.

    Note: The build must run on an agent with full Visual Studio (ideally 2017) installed, the important part is that the C:\Program Files (x86)\Reference Assemblies\Microsoft is properly filled with all portables and framework versions.

Technical details

We use the following projects

References

Recommendations

  • Use the postfix and add some kind of versioning for the generator "Signed-v1".
  • Update this postfix when the version of this task changes or you need a "old" package build with the new version.

This has the following disadvantages:

  • Visibility of new versions
  • Some overhead when changing the generator version

But all in all it's a more robust way of doing things.

Upgrade generator "Signed-v1" -> "Signed-v2"

  • Search and replace the ".Signed-v1" postfix with ".Signed-v2" in all the package.config files.
  • If you run into problems, try:
    • Delete all nuget references from the project file
    • Update-Package -reinstall -Project YourProjectName