You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 6 Razor Pages静态资产自定义目录发布及认证访问配置

解决.NET 6 Razor Pages静态资产自定义发布路径问题

针对你提出的无需构建后手动复制,通过项目配置将静态资产发布到custom-root文件夹的需求,可直接修改项目文件(.csproj)实现,分场景处理如下:

一、仅移动Razor页面的隔离JS文件(.cshtml.js)

在项目文件中添加以下配置,指定所有Pages目录下的.cshtml.js文件自动发布到custom-root/Pages/对应子目录:

<ItemGroup>
  <!-- 更新.cshtml.js文件的发布路径 -->
  <Content Update="Pages/**/*.cshtml.js">
    <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
    <DestinationSubDirectory>custom-root/Pages/%(RecursiveDir)</DestinationSubDirectory>
  </Content>
  <!-- 确保custom-root目录被包含在发布输出中 -->
  <Folder Include="custom-root\" />
</ItemGroup>

二、同时修改CSS隔离文件的发布路径

如果需要将CSS隔离生成的MyWebApp.styles.css也移动到custom-root下,在项目文件的<PropertyGroup>节点中补充配置:

<PropertyGroup>
  <!-- 指定CSS隔离文件的输出路径 -->
  <ScopedCssOutputPath>custom-root/MyWebApp.styles.css</ScopedCssOutputPath>
</PropertyGroup>

三、验证配置效果

配置完成后执行发布命令:

dotnet publish -c Release

发布后可看到:

  • 所有.cshtml.js文件自动发布到publish/custom-root/Pages/对应目录
  • CSS隔离文件生成在publish/custom-root/MyWebApp.styles.css

结合你已实现的UseWhen中间件配置,即可完全实现无需手动复制的自动化发布流程。

内容的提问来源于stack exchange,提问作者Nakorr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 20:55:25