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

ASP.NET Core MVC项目发布异常:仅生成含.dll文件的奇怪文件夹

ASP.NET Core MVC发布仅生成.dll文件夹的排查方案
  • 检查发布模式与单文件配置
    打开发布配置窗口,确认是否勾选了单文件发布(PublishSingleFile)。如果开启这个选项,项目会将所有依赖、资源打包进单个可执行文件(或dll),导致看不到Views、wwwroot等目录。需要取消该选项,选择框架依赖部署(Framework-Dependent),并确保未勾选裁剪未使用的程序集(PublishTrimmed)。

  • 核对项目文件(.csproj)资源包含配置
    打开项目的.csproj文件,检查是否正确包含了静态资源和视图目录:

    <ItemGroup>
      <!-- 确保Views目录被标记为发布内容 -->
      <Content Include="Views\**\*" CopyToPublishDirectory="PreserveNewest" />
      <!-- 确保wwwroot目录被标记为发布内容 -->
      <Content Include="wwwroot\**\*" CopyToPublishDirectory="PreserveNewest" />
    </ItemGroup>
    

    同时检查是否存在以下可能导致资源丢失的配置:

    • <PublishSingleFile>true</PublishSingleFile>:改为false
    • <PublishTrimmed>true</PublishTrimmed>:改为false(除非你明确需要裁剪且已配置保留资源)
  • 检查发布配置文件的清理规则
    打开Properties/PublishProfiles下的发布配置文件(.pubxml),查看是否有<Clean>true</Clean>或<DeleteExistingFiles>true</DeleteExistingFiles>。如果开启了删除现有文件,且之前的发布目录有异常,可能导致必要文件未被复制。可以暂时关闭<DeleteExistingFiles>,重新发布测试。

  • 确认视图编译设置
    虽然<MvcRazorCompileOnPublish>true</MvcRazorCompileOnPublish>会将视图编译为dll,但不会导致wwwroot等静态文件消失。如果连静态文件都没有,还是回到前面的资源包含配置检查,确保这些目录被正确标记为要发布的内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 14:18:26