- NuGet 5.4 support
- Support Plugin-based NuGet Credential Providers
- Fixed requests bypassing the native macOS HTTP handler
NuGet 5.4 support
NuGet 220.127.116.1115 is now included with Visual Studio for Mac 8.5.
Support Plugin-based NuGet Credential Providers
NuGet credential provider plugins are now supported by Visual Studio for Mac.
Plugins are self-contained executables which provide credentials for NuGet package sources. One example is the Azure Artifacts Credential Provider which Visual Studio for Mac can now use whilst it does not have integrated support for accessing packages sources available from Azure DevOps.
Fixed HTTP requests bypassing the native macOS HTTP handler
Restoring or installing a NuGet package into a project that uses PackageReferences was bypassing the native macOS HTTP handler.
This was due to NuGet’s CachingSourceProvider creating its own set of INuGetResourceProviders when it creates a set of new SourceRepository instances. This resulted in the default HttpSourceResourceProvider being used, instead of the custom one provided by Visual Studio for Mac. The default HttpSourceResourceProvider uses Mono’s HttpClientHandler not the native HTTP Client handle NSUrlSessionHandler provided by Xamarin.Mac. This would happen when the Nuget package was was downloaded.
NuGet 5.4 now supports defining custom INuGetResourceProvider factory that is used globally. This is now used by Visual Studio for Mac so all HTTP requests use the native macOS HTTP handler NSUrlSessionHandler.