dotnet/aspnetcore

Exclude css isolation assets from `dotnet publish`

Open

#41,961 opened on 2022年6月1日

GitHub で見る
 (11 comments) (1 reaction) (0 assignees)C# (10,653 forks)batch import
area-mvcenhancementgood first issuehelp wanted

Repository metrics

Stars
 (37,933 stars)
PR merge metrics
 (平均マージ 16d 9h) (30d で 258 merged PRs)

説明

Originally posted at StackOverflow, but there seems no way to control this. So I'm adding as a feature request. Thank you.

Is there an existing issue for this?

  • I have searched the existing issues

Is your feature request related to a problem? Please describe the problem.

I'm using RazorPages (on ASP.NET Core 6) and "css isolation". The css files are generated at obj/{Debug,Release}/net6.0/scopedcss/Pages/, and are included when performing a dotnet publish.

I also use Webpack, so I don't need to publish those css files (they are already bundled by Webpack).

I added variations of all of these to my Project.csproj without success:

<ItemGroup Condition="'$(Configuration)'=='Release'">
  <Content Remove="obj/*/*/scopedcss/**/*" />
</ItemGroup>
<ItemGroup Condition="'$(Configuration)'=='Release'">
  <Content Remove="*.cshtml.rz.scp.css" />
</ItemGroup>
<ItemGroup Condition="'$(Configuration)'=='Release'">
  <None Remove="obj/*/*/scopedcss/**/*" />
</ItemGroup>
<ItemGroup Condition="'$(Configuration)'=='Release'">
  <Compile Remove="*.cshtml.rz.scp.css" />
</ItemGroup>
<ItemGroup Condition="'$(Configuration)'=='Release'">
  <PublishedFiles Remove="obj/*/*/scopedcss/**/*" />
</ItemGroup>
<PropertyGroup Condition="'$(Configuration)'=='Release'">
  <DefaultItemExcludes>$(DefaultItemExcludes);obj/*/*/scopedcss/**/*</DefaultItemExcludes>
</PropertyGroup>

These (and variations of them in every combination) did not work.

Describe the solution you'd like

Please provide a way to exclude css isolation assets from dotnet publish.

Additional context

My non-ideal workaround is to delete the files after publish:

<Target Name="DeleteScopedCss" AfterTargets="AfterPublish">
  <RemoveDir Directories="$(PublishUrl)/wwwroot/Pages" />
</Target>

コントリビューターガイド