首页 > 解决方案 > 如何正确引用 NETStandard 2.1?

问题描述

我看到评论说我将“需要 Core 3.0”,但我不确定这究竟意味着什么。我的系统上安装了 Core 3.0,如果我愿意,我可以创建一个 Core 3.0 项目,但据我所知,我无法创建一个同时针对 Core 3.0 和 .NET Standard 2.1 的项目。

目前我的项目(类库)目标框架是 .NET Standard 2.1。它编译得很好,但是当我运行引用它的项目(exe)时,我得到一个错误:

Could not load file or assembly 'netstandard, Version=2.1.0.0, Culture=neutral, 
PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. The system cannot find the file 
specified.

该 exe 是一个 NET Framework 4.7 项目。我需要我的 dll 在 NET Standard 下运行的原因是它需要在 NET Framework 和 Core 项目中都被引用。

有什么技巧可以让它正常工作吗?是否有不同的方法来创建 NET Standard 2.1 项目?或者是否有我需要在本地复制的依赖文件?

标签: .net-core.net-standard

解决方案


从网络框架项目导入网络标准项目时遇到这个问题。要修复放入Web.config以下内容,请将我的版本 4.7.1 和 2.0 更改为您需要的版本:

  <system.web>
    <compilation debug="true" targetFramework="4.7.1">
      <assemblies>
        <add assembly="netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" />
      </assemblies>
    </compilation>
    <httpRuntime targetFramework="4.7.1"/>
...
  </system.web>

推荐阅读