@@ -174,6 +174,11 @@ Copyright (c) .NET Foundation. All rights reserved.
174174 ResolveRazorEmbeddedResources;
175175 </ResolveRazorCompileInputsDependsOn >
176176
177+ <ResolveScopedCssOutputsDependsOn >
178+ $(ResolveScopedCssOutputsDependsOn);
179+ ResolveCssScopes;
180+ </ResolveScopedCssOutputsDependsOn >
181+
177182 <DebugSymbolsProjectOutputGroupDependsOn >
178183 $(DebugSymbolsProjectOutputGroupDependsOn);
179184 _RazorAddDebugSymbolsProjectOutputGroupOutput
@@ -198,16 +203,6 @@ Copyright (c) .NET Foundation. All rights reserved.
198203 ResolveRazorComponentInputs;
199204 AssignRazorComponentTargetPaths
200205 </_RazorGenerateComponentDesignTimeDependsOn >
201-
202- <AssignRazorComponentTargetPathsDependsOn Condition =" '$(ScopedCssEnabled)' == 'true'" >
203- $(AssignRazorComponentTargetPathsDependsOn);
204- ResolveCssScopes;
205- </AssignRazorComponentTargetPathsDependsOn >
206-
207- <AssignRazorGenerateTargetPathsDependsOn Condition =" '$(ScopedCssEnabled)' == 'true'" >
208- $(AssignRazorGenerateTargetPathsDependsOn);
209- ResolveCssScopes;
210- </AssignRazorGenerateTargetPathsDependsOn >
211206 </PropertyGroup >
212207
213208 <!--
@@ -554,6 +549,26 @@ Copyright (c) .NET Foundation. All rights reserved.
554549 </ItemGroup >
555550 </Target >
556551
552+ <!-- This target validates that there is at most one scoped css file per component, that there are no scoped css files without a
553+ matching component, and then adds the associated scope to the razor components that have a matching scoped css file.
554+ -->
555+ <Target
556+ Name =" ResolveCssScopes"
557+ Condition =" '$(ScopedCssEnabled)' == 'true'"
558+ BeforeTargets =" AssignRazorComponentTargetPaths;AssignRazorGenerateTargetPaths"
559+ DependsOnTargets =" ComputeCssScope;ResolveRazorComponentInputs;ResolveRazorGenerateInputs" >
560+ <ApplyCssScopes RazorComponents =" @(RazorComponent)" RazorGenerate =" @(RazorGenerate)" ScopedCss =" @(_ScopedCss)" >
561+ <Output TaskParameter =" RazorComponentsWithScopes" ItemName =" _RazorComponentsWithScopes" />
562+ <Output TaskParameter =" RazorGenerateWithScopes" ItemName =" _RazorGenerateWithScopes" />
563+ </ApplyCssScopes >
564+ <ItemGroup >
565+ <RazorComponent Remove =" @(_RazorComponentsWithScopes)" />
566+ <RazorComponent Include =" @(_RazorComponentsWithScopes)" />
567+ <RazorGenerate Remove =" @(_RazorGenerateWithScopes)" />
568+ <RazorGenerate Include =" @(_RazorGenerateWithScopes)" />
569+ </ItemGroup >
570+ </Target >
571+
557572 <!--
558573 Temporarary workaround for https://github.com/dotnet/aspnetcore/issues/6859. This can be removed after a VS insertion with a newer copy of the DesignTime targets.
559574 -->
@@ -564,9 +579,7 @@ Copyright (c) .NET Foundation. All rights reserved.
564579 </Content >
565580 </ItemGroup >
566581
567- <Target Name =" AssignRazorComponentTargetPaths"
568- Condition =" '@(RazorComponent)' != ''"
569- DependsOnTargets =" $(AssignRazorComponentTargetPathsDependsOn)" >
582+ <Target Name =" AssignRazorComponentTargetPaths" Condition =" '@(RazorComponent)' != ''" >
570583 <AssignTargetPath Files =" @(RazorComponent)" RootFolder =" $(MSBuildProjectDirectory)" >
571584 <Output TaskParameter =" AssignedFiles" ItemName =" RazorComponentWithTargetPath" />
572585 </AssignTargetPath >
@@ -586,9 +599,7 @@ Copyright (c) .NET Foundation. All rights reserved.
586599 </ItemGroup >
587600 </Target >
588601
589- <Target Name =" AssignRazorGenerateTargetPaths"
590- Condition =" '@(RazorGenerate)' != ''"
591- DependsOnTargets =" $(AssignRazorGenerateTargetPathsDependsOn)" >
602+ <Target Name =" AssignRazorGenerateTargetPaths" Condition =" '@(RazorGenerate)' != ''" >
592603 <AssignTargetPath Files =" @(RazorGenerate)" RootFolder =" $(MSBuildProjectDirectory)" >
593604 <Output TaskParameter =" AssignedFiles" ItemName =" RazorGenerateWithTargetPath" />
594605 </AssignTargetPath >
0 commit comments