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

在Visual Studio 2017中发布ASP.NET Core 2.0项目时包含指定依赖文件

搞定这个文件复制的问题很简单,在Visual Studio 2017社区版的ASP.NET Core 2.0项目里,有两种实用的方法能确保DinkToPdf依赖的libwkhtmltox.dll和libwkhtmltox.so随发布一起复制,我给你一步步讲:

方法一:直接编辑项目文件(.csproj)

这种方式精准可控,适合熟悉项目配置的同学:

  • 右键你的ASP.NET Core项目,选择「编辑.csproj」(或者直接在解决方案资源管理器里找到项目文件双击打开)
  • 在<Project>节点内添加以下XML配置:
<ItemGroup>
  <!-- 配置Windows平台依赖的dll文件 -->
  <None Include="bin\libwkhtmltox.dll">
    <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
  </None>
  <!-- 配置Linux平台依赖的so文件 -->
  <None Include="bin\libwkhtmltox.so">
    <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
  </None>
</ItemGroup>
  • 保存文件即可。PreserveNewest的作用是只复制比发布目录里现有文件更新的版本,避免不必要的重复复制。如果你的文件不在项目根目录的bin下,记得调整Include里的路径哦。
方法二:通过Visual Studio界面设置文件属性

不想碰XML?用可视化操作也能搞定:

  • 先在解决方案资源管理器里找到这两个文件:如果没显示,点击工具栏的「显示所有文件」按钮,找到文件后右键选择「包括在项目中」
  • 选中其中一个文件,在右侧的「属性」窗口里做如下设置:
    • 「复制到输出目录」:选择「始终复制」或者「较新时复制」(推荐后者,更高效)
    • 「生成操作」:设置为「内容」(这样VS会把它视为项目内容,随发布流程输出)
  • 对另一个文件重复同样的属性设置
额外提醒
  • 如果你需要跨平台发布(同时支持Windows和Linux),确保两个文件都存在于项目对应的目录中,上面的方法会把它们都带到发布目录,各自平台运行时会自动识别对应的依赖文件
  • 发布完成后可以检查一下发布目录,确认这两个文件是否已经被复制过去,一般会和项目中的目录结构对应

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:53:12