Add missing assemblies to ref pack#19161
Conversation
| <AspNetCoreReferenceAssemblyPath | ||
| Include="@(ReferencePathWithRefAssemblies)" | ||
| Condition="'%(ReferencePathWithRefAssemblies.IsReferenceAssembly)' == 'true'" | ||
| Condition="'%(ReferencePathWithRefAssemblies.IsReferenceAssembly)' != 'false'" |
There was a problem hiding this comment.
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.
Ahh, I think I now understand what you mean. We should probably investigate what's happening here.
There was a problem hiding this comment.
I believe we need to exclude %(IsReferenceAssemblyProject) items from @(AspNetCoreAppReference) in the main @(Reference) item group at
<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.
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) |
|
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
IsAssemblyReferencemetadata 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
IsAssemblyReferenceset tofalseare excluded.