You need to enable JavaScript to run this app. 如何将项目目标框架从.NET 5.0转换为.NET Standard并解决相关报错?
优惠活动
大模型
产品
解决方案
定价
更多

如何将项目目标框架从.NET 5.0转换为.NET Standard并解决相关报错?

报错原因

.NET Standard是一套跨.NET平台的API规范,不支持作为可执行程序的目标框架,仅能用于类库类型的项目。你当前项目的输出类型为Exe,修改为.NET Standard TFM后自然无法通过dotnet run运行,这是正常现象。

正确转换操作步骤

  • 第一步:调整项目输出类型
    打开.csproj文件,删除<OutputType>Exe</OutputType>节点,或者将值修改为Library。你要制作NuGet包本身就应该使用类库类型的项目,不需要输出可执行文件。
  • 第二步:选择匹配的.NET Standard版本
    根据你需要兼容的最低.NET平台版本选择对应的.NET Standard版本:
    • 需要兼容.NET Framework 4.6.1及以上、.NET Core 2.0及以上版本,选择.NET Standard 2.0
    • 仅需要兼容.NET Core 3.0及以上、.NET 5及以上版本,可选择.NET Standard 2.1
      将.csproj中的TargetFramework节点修改为对应值,示例:
    <TargetFramework>netstandard2.0</TargetFramework>
    
  • 第三步:验证项目编译
    修改完成后执行dotnet build确认项目可以正常编译,需要生成NuGet包时执行dotnet pack即可输出对应的nupkg文件。

补充说明

如果你需要测试类库的功能,不要直接在类库项目上执行dotnet run,额外创建一个控制台项目或者单元测试项目引用该类库即可,测试项目可以使用任意可运行的TFM(比如net6.0、net7.0),不会影响类库本身的.NET Standard兼容性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 06:24:02