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

如何创建可同时被.NET与.NET Core项目引用的跨平台类库项目

可行解决方案

下面给出两种可直接落地的方案,无需修改现有.NET Framework 4.5 WebAPI项目、.NET 5 MVC项目的原有配置:

方案一:使用匹配兼容版本的.NET Standard类库

该方案仅需维护一个类库项目,天然支持跨平台运行:

  • 新建.NET Standard类库项目,目标版本选择netstandard1.1(.NET Standard 1.1是唯一同时兼容.NET Framework 4.5、.NET 5的标准版本,你之前创建的.NET Standard类库无法被引用,大概率是选了2.0及以上的高版本,高版本.NET Standard仅支持.NET Framework 4.6.1及以上)
  • 正常安装Newtonsoft.Json 13.0.1 NuGet包即可,该版本原生支持netstandard1.1
  • 编译完成后即可同时被两个业务项目引用,部署到Linux环境也能正常运行

方案二:配置类库多目标框架

如果你的类库后续需要用到.NET Standard 1.1不支持的API,可以选择多目标编译的方案:

  • 右键已创建的类库项目,选择「编辑项目文件」,将原有的单目标框架配置<TargetFramework>xxx</TargetFramework>替换为多目标配置:
    <TargetFrameworks>net45;net5.0</TargetFrameworks>
    
  • 保存项目文件后重新加载,Newtonsoft.Json 13.0.1会自动适配两个目标框架,无需额外配置
  • 编译后类库会同时生成面向.NET Framework 4.5、.NET 5的两个版本的输出,两个业务项目会自动匹配引用对应版本的类库,部署到Linux环境时使用.NET 5版本的输出即可正常运行

注意事项

  • 选择方案一的前提下,类库代码不要使用.NET Standard 1.1版本之后才推出的API,否则会触发编译报错
  • 两种方案均不需要修改现有业务项目的目标框架版本,对业务代码无侵入

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 23:57:05