List explicitly as .csproj files the scenarios for which the offline package cache is important
Produces new artifacts designed for various scenarios, such as:
* Docker (where xml doc files are not needed)
* Azure web apps (where 1.x SDKs must still be supported, but xml docs are not needed)
Changes:
* Add a test project with simple unit tests for the shared framework
* Add root-level Directory.Build.props/targets files
* Cleanup .csproj files to reduce duplication
New package versions incoming to this patch causes a cascading change to preserve transitive dependencies
* System.Data.SqlClient
* System.Memory
* System.Runtime.CompilerServices.Unsafe
* System.Threading.Tasks.Extensions
Originally, we thought using exact version ranges on the dependencies of Microsoft.AspNetCore.App
would help protect consumers from lifting binaries out of the shared framework. However,
this makes it difficult for consumers to use packages that share a dependency with .App.
When users tried to mix Microsoft.EntityFramework.SQLite 2.1.1 with Microsoft.AspNetCore.App 2.1.0,
NuGet errors and warnings made it difficult to reason about what was wrong, and how to resolve it.
This changes the dependency version range to allow uses to upgrade within the major.minor patch family
without needing to override NuGet warnings. This removes some of the protections against users
unintentionally lifting to a binary newer than the shared framework, however, after lots of discussion,
we believe this is a better user experience.
The PR #1175 was incomplete. This fixes the cascading effect of patching to 2.1.1
Changes:
- add CheckRepoGraph (ported directly from the release/2.0 branch)
- Update submodules
All packages were being ignored. This adds an error if 0 packages are found, and also fixes the folder scanned for coherence.
This also required removing the 'Private' designation from external dependencies, because we no longer scan just shipping packages,
Removed unused NoWarn metadata as well.