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

引用Asp .Net Core Web Api时如何独立发布WPF应用?

解决WPF引用Swashbuckle.AspNetCore后发布失败的问题

问题原因

Swashbuckle.AspNetCore是为ASP.NET Core量身设计的NuGet包,依赖大量ASP.NET Core运行时组件,而WPF的发布模型和ASP.NET Core存在差异,直接引用会导致发布过程中依赖解析冲突,进而发布失败。

具体解决步骤

  • 拆分依赖,避免直接引用
    新建一个.NET 6类库项目,把需要用到Swashbuckle相关功能的代码移到这个类库里。WPF项目只引用这个类库,不直接安装Swashbuckle.AspNetCore包。这样能把ASP.NET Core相关依赖隔离在类库中,不会干扰WPF的发布流程。

  • 修改WPF项目配置,排除ASP.NET Core清单
    在WPF项目的.csproj文件里添加以下配置,阻止发布工具自动引入ASP.NET Core的目标清单:

    <PropertyGroup>
      <PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
    </PropertyGroup>
    
  • 统一运行时和目标框架
    确认WPF项目、类库项目以及Swashbuckle.AspNetCore包的目标框架都是.NET 6,发布时的目标运行时(比如win-x64)也要在所有项目中保持一致,避免架构不匹配引发的问题。

  • 清理缓存后重新发布
    删除WPF和类库项目的bin、obj文件夹,清空缓存。然后用命令行执行发布命令,能更直观地查看错误信息:

    dotnet publish -c Release -r win-x64 --self-contained true
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 19:42:07