【问题标题】:.NETFramework4.6.1 reference a classlib targetting .NETstandard2.0.NET Framework 4.6.1 引用了一个针对 .NETstandard2.0 的类库
【发布时间】:2017-05-03 23:16:57
【问题描述】:

我使用 Target 框架创建了一个 asp.net webapp:.NET Framework 4.6.1 以及带有 Target 框架的类库:VS2017 中的 .NET Standard 2.0。 我希望它能正常工作,因为document 说有兼容: 但我得到了一个错误:

项目 'c:\users\ConfusedDev\documents\visual studio 2017\Projects\ClassLibrary\ClassLibrary\ClassLibrary.csproj' 的目标是 '.NETStandard,Version=v2.0'。它不能被以 '.NETFramework,Version=v4.6.1' 为目标的项目引用。

构建此解决方案我缺少什么?

【问题讨论】:

    标签: asp.net visual-studio .net-framework-version .net-standard


    【解决方案1】:

    https://dotnet.myget.org/feed/dotnet-core/package/nuget/NETStandard.Library

    您使用的包包含某种 .net 标准 v2 的存根:

      <group targetFramework=".NETStandard2.0">
        <dependency id="Microsoft.NETCore.Platforms" version="1.1.0" />
        <dependency id="Microsoft.Packaging.Tools" version="1.0.0-preview2-25303-01" />
      </group>
    

    这只是指向 .NET Core。不过,您可以尝试较低版本的 .net 标准。它们似乎在 2.0.0-preview2-25303-01 包中正确声明。

    【讨论】:

    • 2.0.0-preview2-25303-01 是我正在使用的包,你是说这个包有正确的声明?
    • 我的意思是,当您使用 2.0.0-preview2-25303-01 时,您应该尝试选择较低版本的 .net 标准
    【解决方案2】:

    我在使用 VS 2017 时遇到了这个问题。我在 .Net 4.6 目标解决方案中添加了一些 .Net 标准类库项目。所以我无法构建解决方案。

    我添加了相应数量的.Net框架类库项目。然后我将相应的新项目(.Net框架)中的所有类剪切并粘贴,并删除所有涉及的项目(.Net标准框架)并构建解决方案。

    【讨论】:

      猜你喜欢
      • 2018-10-13
      • 2022-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多