When attempting to download a package from a privately hosted NuGet feed, some Deployment Targets are running into an error where the index.json NuGet Catalogue file cannot be read.
Reproduction
Host a private NuGet feed with a NuGet server version above 3.4 (GZip compression was added to the whole NuGet stack in 3.4)
Configure Server with the NuGet feed in Library > External Feeds
Install a Tentacle on a machine running .NET 4.0
Create a project which deploys a package from the feed to the .NET 4.0 target
(.NET 4.0 vs dotnet core is our working hypothesis on the cause; not 100% - needs repro to prove)
Expected: Package should download correctly for any supported Tentacle/Calamari hosting combination
Actual: NuGet downloader fails to read index.json and fails to download the package.
We need to investigate here whether the best path is to fix the .NET 4.0 code, or if we are upgrading Calamari to always use .NET 4.5+, then we may automatically get a fix from doing that.
Team
Severity
Blocking one customer - no real workaround
Version
2021.3.8275 Cloud
Latest Version
I could reproduce the problem in the latest build
What happened?
When attempting to download a package from a privately hosted NuGet feed, some Deployment Targets are running into an error where the
index.json
NuGet Catalogue file cannot be read.Reproduction
(.NET 4.0 vs dotnet core is our working hypothesis on the cause; not 100% - needs repro to prove)
Expected: Package should download correctly for any supported Tentacle/Calamari hosting combination Actual: NuGet downloader fails to read
index.json
and fails to download the package.Error and Stacktrace
When running the
download-package
command:Calamari fails with the following error:
More Information
Suspect this is due to a difference between how the NuGet downloader works for .NET4.0 targets vs .NET4.5+ targets.
The code path for newer .NET Framework builds explicitly handles GZip decompression, but the .NET 4.0 code path doesn't appear to.
Links
🔒ZenDesk Ticket 80936 (Internal)
Workaround
None known