簡體   English   中英

來自netstandard 2.0的參考.net461程序集

[英]Reference .net461 assembly from netstandard 2.0

根據Microsoft (“.NET Standard的.NET .NET庫”),我們可以從.NetStandard 2.0項目中引用完整的框架庫<= .NET 4.6.1,以幫助從Visual Studio 15.3開始遷移現有代碼

那么為什么以下不起作用呢?

NetStandard / NetStandard.csproj:

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

  <ItemGroup>
    <ProjectReference Include="..\FullFramework\FullFramework.csproj" />
  </ItemGroup>
</Project>

FullFramework / FullFramework.csproj

<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'.

如果您引用使用“舊”.csproj格式(並且目標是.NET 4.6.1或更低版本)的項目,或者您直接引用庫(.dll文件),但是對於未知(對我來說)原因,則此功能有效如果您使用“新”格式的.csproj引用項目(如您的問題),則可以正常工作。 有人可能會爭辯說,因為這個功能目標是為了更容易移植舊代碼 - 我們認為不支持新格式的項目,我認為這更像是一種疏忽而非故意。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM