-
Notifications
You must be signed in to change notification settings - Fork 10.4k
Improve generation and use of ref/ projects #17311
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This PR is incomplete. Please see Build.log (containing ~560 errors) and Build.unique.log (containing the ~190 unique errors). In addition, the src\Identity\Extensions.Stores\ref\Microsoft.Extensions.Identity.Stores.Manual.cs file is empty. Just waiting to find what types we're using. |
Steps to handle the
Suggest splitting up by ref/ project area to avoid both working on ProjectA because it contains missing members at opposite ends of the alphabet. FYI I grabbed the warnings-only log using |
Most urgent thing is to test building (and executing) variants of e.g. src\SignalR\samples\ClientSample outside the AspNetCore repo i.e. with the 3.0.1 targeting pack / SDK and all I suggest changing Extensions very slightly to build Microsoft.Extensions.Logging.Testing and maybe one or two other internal packages against ref/ assemblies. |
First 4 commits have already been merged -- in #17245. Visible because I changed the base branch to 'release/3.0' and GitHub hasn't noticed those changes are already there. |
16f6c6d
to
e0ca7fa
Compare
Changed my mind and rebased the branch. See you all in a few days. |
a9db76d
to
7d97608
Compare
- restrict when `$(HasReferenceAssembly)` is `true` by default - add warnings when `$(IsAspNetCoreApp)` or `$(HasReferenceAssembly)` have unexpected values
- associated implementation projects no longer have `$(HasReferenceAssembly)` set to `true`
Bit more about handling So, the Note: Any |
- see dotnet/arcade#4488 - generation for these members leads to NREs
- Identity/Core - Identity/Extensions.Core - Mvc/Mvc.ViewFeatures
The only remaining non-
Plus a couple
Source build is fixed now! |
- add direct references to some test and sample projects to make intent clear i.e. address CS1705 root cause - these projects must use implementation assemblies for those direct references - requirement also applies to anything depending on them e.g. functional tests - for simplicity, use `$(CompileUsingReferenceAssemblies)` instead of targeted `@(Reference)` metadata - leads to ~40 projects that do not themselves add ref/ metadata - this is _not_ transitive i.e. it applies only to projects that override `$(CompileUsingReferenceAssemblies)`
cfbcf2e
to
76363d1
Compare
This reverts commit 1ca2483.
This PR is a fairly large cleanup of our 'release/3.0' work to at least get implementation assemblies built against ref/ assemblies. It has the following aims:
Stretch goals include: