【问题标题】:How do I properly reference NETStandard 2.1?如何正确引用 NETStandard 2.1?
【发布时间】:2020-01-04 01:45:35
【问题描述】:

我看到 cmets 说我将“需要 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


    【解决方案1】:

    从网络框架项目导入网络标准项目时遇到这个问题。要修复您的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>
    

    【讨论】:

    • 我的 dll 没有在 Web 项目中使用,因此它无权访问 web.config 文件。它在 Core ASP.NET 项目和 Windows 服务 (exe) 中都被引用。该服务是框架 4.7。我尝试了类似于您建议的csproj文件无济于事..
    • 你修复了这个@eric_the_animal
    猜你喜欢
    • 1970-01-01
    • 2017-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多