-
Notifications
You must be signed in to change notification settings - Fork 10.3k
Add missing assemblies to ref pack #19161
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
@@ -130,7 +130,7 @@ This package is an internal implementation of the .NET Core SDK and is not meant | |||
<!-- Exclude transitive external dependencies that are not directly referenced by projects in AspNetCore or Extensions --> | |||
<AspNetCoreReferenceAssemblyPath | |||
Include="@(ReferencePathWithRefAssemblies)" | |||
Condition="'%(ReferencePathWithRefAssemblies.IsReferenceAssembly)' == 'true'" | |||
Condition="'%(ReferencePathWithRefAssemblies.IsReferenceAssembly)' != 'false'" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Have trouble believing the previous Exclude
item was wrong. Instead the ref/ project shouldn't provide metadata in @(ReferencePathWithRefAssemblies)
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ahh, I think I now understand what you mean. We should probably investigate what's happening here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe we need to exclude %(IsReferenceAssemblyProject)
items from @(AspNetCoreAppReference)
in the main @(Reference)
item group at
<Reference Include="@(AspNetCoreAppReference);@(AspNetCoreAppReferenceAndPackage);@(ExternalAspNetCoreAppReference)" /> |
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
for the @(AspNetCoreAppReference)
items that are from ref/ projects. Might be possible to shorten the new code to
<ItemGroup>
<Reference Include="@(AspNetCoreAppReference);@(AspNetCoreAppReferenceAndPackage);@(ExternalAspNetCoreAppReference)">
<ReferenceOutputAssembly Condition=" '%(IsReferenceAssemblyProject)' == 'true' ">false</ReferenceOutputAssembly>
</Reference>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Might be fine to remove references to the ref/ projects entirely i.e. exclude @(AspNetCoreAppReference)
and @(AspNetCoreAppReferenceAndPackage)
items with '%(IsReferenceAssemblyProject)' == 'true'
metadata. Of course, need to confirm that metadata is present. (Root cause here is those two item groups map names to projects and the names are ambiguous.)
This has the same content as the 3.1.0 ref pack now (the same 253 items). However, we now need to make sure that the updated ref assembly from System.IO.Pipelines 4.7.1 does not make it in to the 3.1.3 targeting pack, but we do need to include the patched implementation assembly in the runtime pack (see dotnet/corefx#42837). @dougbu @JunTaoLuo @ericstj any ideas? |
Convert aspnetcore/eng/SharedFramework.External.props Lines 55 to 72 in ff6e1eb
PatchVersion=0 versions, which are used by the runtime pack & targeting pack respectively?
|
@wtgodbe can you try that approach and see what it looks like? Feel free to update this branch. |
Took a crack at it with 903ddbd & cac1ed2. We'll need to wait until dotnet/corefx#42837 flows to AspNetCore to really be sure it worked. |
looks like tests are passing, @wtgodbe can you check the targeting pack? |
@JunTaoLuo I'll check it once we take the CoreFx change that bumps System.IO.Pipelines to 4.7.1 (which should be very soon) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Other than @wtgodbe's extra newline (a nit 😈), code looks good. Of course, we want to be sure that part of the change works w/ new CoreFx packages before actual merge
Thanks @JunTaoLuo for banging this out and @wtgodbe for your additions as well as
|
Might not be able to validate this w/ the corefx change tonight, Maestro seems to be on the fritz - it hasn't opened any PRs in the last ~3 hours (@chcosta @riarenas @JohnTortugo @mmitche is it a known thing?) |
This is now ready to be validated once we have the build |
I'll add NU1605 to the ref pack's NoWarn, but will we wind up transitively bringing in the higher version anyway? CC @dougbu @JunTaoLuo |
- yeah, @JunTaoLuo and I agreed w/ you @wtgodbe
Looks like |
Which projects was resolving |
I'm not sure, the build for Doug's commit seems to have disappeared |
The ref pack & runtime pack both look good! The ref pack has the same content as the 3.1.0, the same platform manifest as 3.1.2, and the @dougbu @JunTaoLuo @ericstj anything else you'd like me to check on before merging? |
|
Oh wait, who owns this now? I nominate @JunTaoLuo to do the final squash |
This fixes the incorrect condition from #18380. The issue is that the CoreFx ref assemblies do not have the
IsAssemblyReference
metadata set. As a result, the assemblies were excluded from the AspNetCore.App.Ref ref pack.This PR updates the condition so that only the assemblies with
IsAssemblyReference
set tofalse
are excluded.