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

如何用MSBuild通配符将项目deployment目录所有文件纳入部署包?

解决.NET Web项目部署包包含deployment子目录所有文件的方法

直接编辑你的.NET Web项目的.csproj文件,添加以下配置即可让deployment文件夹下的所有文件(包括子目录里的文件、DLL这类非内容文件)被纳入/p:DeployOnBuild=true生成的部署包:

<ItemGroup>
  <!-- 捕获deployment文件夹下所有文件及子目录 -->
  <ResolvedFileToPublish Include="deployment\**\*">
    <RelativePath>deployment\%(RecursiveDir)%(FileName)%(Extension)</RelativePath>
    <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
  </ResolvedFileToPublish>
</ItemGroup>

配置说明:

  • Include="deployment\**\*":用通配符**匹配deployment下的所有子目录,*匹配任意类型的文件,确保整个子树都被选中
  • <RelativePath>:指定文件在部署包中的相对路径,保持原有的目录结构,避免文件被打乱
  • <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>:只复制更新过的文件,减少不必要的构建开销

这个配置绕过了内容项的判定逻辑,直接将目标文件标记为需要发布的资源,不管是DLL还是其他类型文件都能被正确包含。只要你的构建后步骤能把文件生成到项目内的deployment文件夹,打包时就会自动把这些文件加进去。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 11:16:56