-
Notifications
You must be signed in to change notification settings - Fork 10.3k
Produce reference assemblies for Microsoft.AspNetCore.App #3610
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
Comments
This proposal looks reasonable to me. |
This may be problematic. The binding redirects are generated based on the compile graph. So if any binding redirects are generated, it will be to the version of the ref assembly. Probably this means that the Microsoft.Extensions packages should not include the reference assemblies, they should only be used in the targeting pack for ASP.NET Core. |
My main concern is about servicing updates. I think we can make 3.0.0 work fine. It's 3.0.1 that we need to think through. I'll add to this issue that we need to design how ref assemblies and assembly versions should work so that we can keep .NET Framework and .NET Core happy. |
This appears to be done. I have a build and inside of We're not sure what this means:
|
@natemcmaster - can you provide some info on the "Open question" above? Is this done, or is there more work remaining? |
Work remaining: ensure these requirements are met (they are not currently). This will require a combination of writing tests and changing some MSbuild goop.
|
Got it. I'm closing this issue as Done for preview 4, because the bulk of the work was completed. I logged #9479 to track the remaining work for a later milestone. |
In order to satisfy the requirements of making Microsoft.AspNetCore.App a ref-only package (#3608), we need to change our build system to produce reference assemblies for API in Microsoft.AspNetCore.App.
Requirements
Proposed solution
We use build tools from https://github.com/dotnet/arcade to generate reference assemblies from implementation projects. This generated source lives in the repo next to the implementation. Most assemblies in the shared framework will have a folder layout like this:
Wire up the build to use tools from https://github.com/dotnet/arcade which assert that the implementation binaries are binary compatible with their reference assemblies. This is essential to making sure patches don't break API.
Open questions
The text was updated successfully, but these errors were encountered: