UpgradeOptions should be an implementation detail of the CLI as it is tightly bound to the command line parsing. The names on it cannot be changed without breaking that binding, and has ended up being a bag of a bunch of options.
This change introduces new options for the parts of the system that needed it and flows the values to them via:
- Directly configuring the options in the ConfigureServices
- Setting them up as extension options for values that are needed in extensions and cannot be directly set
This updates the RazorSourceUpdater and SourceUpdaterStep to alert users via warnings of any diagnostics that were produced by registered analyzers but didn't have a code fix available. This allows UA analyzers to alert users of code patterns requiring manual updates.
This replaces the AllowHtmlAttribute analyzer and code fixer with a more general purpose analzyers/code fix provider that will update or remove any attribute types listed in typemaps.
Fixes#493Fixes#499Fixes#501Fixes#504Fixes#638
* Expose SDK as an ICollection to enable extention
* Fix Tests
* PR Feedback
* Change IsSDK implementation
* Fix Integration tests
* More fixes for tests
* Change to ICollection from List
* PR Feedback
* Remove usage of list in the Remove method
* Remove isSDK
* Reverting the IsSdk removal
* Modifying contains calls
* Add some basic tests for SdkCollection
* Fix tests
* Fix tests
* Missed setting
* PR Feedback
* Add some more tests
This was making it so that extensions were loaded twice. Only one of them was used, but the ExtensionManager should be a singleton to only load extensions once.
This makes a few updates to the HttpContext.Current analyzer and code fix provider:
1. Don't add AddHttpContextAccessor to Startup.cs. It's still nice to have that there to make it easier to use IHttpContextAccessor from DI, but it's not required by HttpContextHelper anymore and it seems best to make as few changes as possible to users' startup files.
2. Update HttpContext.Current analyzer to also identify ControllerBase.HttpContext.Current as needing updated since that's a pattern we can arrive at mid-upgrade.
3. Fix HttpContextHelper to include using System.
Fixes#452
This updates SourceUpdaterStep to reload the csproj (to make sure any changes made by code fixes are picked up) prior to simplifying the file.
Fixes#553
This updates INuGetReferences implementation to handle project files using packages.config package references. Also, updated some comments to more clearly explain what the different APIs on that interface do.
Fixes#554
This was causing PackageLoader.GetLatestVersionAsync to not find any versions of analyzer packages (which don't typically have dependency sets).
Fixes#555
Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.SwaggerGenerator.MSBuild , Microsoft.DotNet.SignTool , Microsoft.DotNet.Helix.Sdk
From Version 6.0.0-beta.21304.1 -> To Version 6.0.0-beta.21311.3
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
* Simple implementation to expose Imports in IProjectFile
* Change to use a custom Collection for Imports
* Add a null check to fix tests
* Add implementation for CopyTo
* Changing GetEnumerator impl to fix tests
- AssemblyLoadContext requires assemblies to be seekable, so we now will copy assemblies to byte arrays if they are not seekable
- We check for pattern that occurs when a zip file is created from a folder where the top level directory is a simple folder
This change also consolidates loading logic all into the assembly load context where it will attempt to load the assemblies from the manifest.
When building on the CI, there are some race conditions that occur
periodically to write files to disk. This is because the extensions are
built separately for their own projects and for when they are being
included in the CLI. This change sets a custom OutDir and
IntermediateOutputPath when needed so there are separate places these
get written.
Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.SwaggerGenerator.MSBuild , Microsoft.DotNet.SignTool , Microsoft.DotNet.Helix.Sdk
From Version 6.0.0-beta.21278.1 -> To Version 6.0.0-beta.21304.1
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>