This change removes CSharp from the name of the package as well as ensures the analzyer/codefixers are added for vb projects when added as NuGet packages.
This change moves the nuget reference retrieval back to non-async as the only async pathway we need is to ensure the restore is done. That has been moved now behind the the actual properties/methods that require that, which have in turn been turned into async.
This should be implicit and based on whether or not it's completed. When completed, delete it - it's only useful between project runs in the context of a solution.
This removes the need for extensions to be too aware of the fact that they are themselves extensions. This incorporates a builder pattern to register configuration that can be added to by other extensions and provides simpler access patterns.
This change refactors the package analyzer infrastructure to generalize it to any dependency. As part of this, the state and analyzer types are being moved to the abstractions layer so extensions may add implementations if they want.
This change does a couple of things to enable LTS/Current/Preview selection:
- Adds a command line argument to allow selection
- Maps the selected support model to identify the TFM that is needed
- Updates the PackageLoader to limit searches to results that match the TFMs in a project
This change replaces a simple record with `Name` to be one that includes
the parts that matter: FrameworkName, Version, Platform, PlatformVersion
This will then be formatted as needed in the property `Name`.
This change doesn't change too much for callers, but changes how a TFM is selected. Previously, one class held all the knowledge about how to select a TFM for a project. This swaps that out for a filter chain that can attempt to change the final result. Each of the filters can do whatever checks they may want, but the state that is passed through will only update the TFM if it is a higher or more constrained TFM.
This updates Upgrade Assistant to use the latest version of try-convert (which won't remove classic ASP.NET dependencies from libraries that keep a NetFx TFM) and adds additional package update analyzers to replace ASP.NET dependencies with ASP.NET Core ones after the TFM has been updated.
Fixes#347