代码之家  ›  专栏  ›  技术社区  ›  Voo

参考来自netstandard 2.0的net461程序集

  •  4
  • Voo  · 技术社区  · 7 年前

    根据 Microsoft (“引用.NET标准中的.NET Framework库”)我们可以引用完整的框架库<=。净4.6.1自。NetStandard 2.0项目帮助从Visual Studio 15.3开始迁移现有代码

    那么,为什么下面的方法不起作用呢?

    网络标准/网络标准。csproj公司:

    <Project Sdk="Microsoft.NET.Sdk">
      <PropertyGroup>
        <TargetFramework>netstandard2.0</TargetFramework>
      </PropertyGroup>
    
      <ItemGroup>
        <ProjectReference Include="..\FullFramework\FullFramework.csproj" />
      </ItemGroup>
    </Project>
    

    FullFramework/FullFramework。项目文件

    <Project Sdk="Microsoft.NET.Sdk">
      <PropertyGroup>
        <TargetFramework>net461</TargetFramework>
      </PropertyGroup>
    </Project>
    

    显示以下错误:

      error NU1201: Project FullFramework is not compatible with netstandard2.0 (.NETStandard,Version=v2.0). Project FullFramework supports: net461 (.NETFramework,Version=v4.6.1)
      error : Project '..\FullFramework\FullFramework.csproj' targets 'net461'. It cannot be referenced by a project that targets '.NETStandard,Version=v2.0'.
    
    1 回复  |  直到 7 年前
        1
  •  5
  •   Evk    7 年前

    如果引用使用“old”的项目,则此功能有效。csproj格式(和目标.NET 4.6.1或更低版本),或者您直接引用库(.dll文件),但由于未知(对我来说)原因,如果您使用引用项目,则无法使用。csproj的“新”格式(如您的问题)。有人可能会说,因为这个特性的目标是更容易地移植旧代码,所以不支持新格式的项目是有道理的,我想这更多的是一种疏忽,而不是故意的。