Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 参考NetStandard2.0中的.net461程序集_C#_.net_Visual Studio_.net Standard - Fatal编程技术网

C# 参考NetStandard2.0中的.net461程序集

C# 参考NetStandard2.0中的.net461程序集,c#,.net,visual-studio,.net-standard,C#,.net,Visual Studio,.net Standard,根据(“引用.NET标准中的.NET Framework库”),我们可以引用完整的框架库如果您引用使用“old”.csproj格式(和目标.NET 4.6.1或更低)的项目,或者您直接引用库(.dll文件),但未知(对于我而言),此功能有效原因-如果您以“新”格式引用带有.csproj的项目(如您的问题中所述),则不起作用。有人可能会说,因为此功能的目标是使旧代码的移植更容易,所以不支持新格式的项目是有道理的,我想这更多的是一种疏忽而不是故意的。NetStandard项目是可移植的,这意味着它可

根据(“引用.NET标准中的.NET Framework库”),我们可以引用完整的框架库如果您引用使用“old”.csproj格式(和目标.NET 4.6.1或更低)的项目,或者您直接引用库(.dll文件),但未知(对于我而言),此功能有效原因-如果您以“新”格式引用带有.csproj的项目(如您的问题中所述),则不起作用。有人可能会说,因为此功能的目标是使旧代码的移植更容易,所以不支持新格式的项目是有道理的,我想这更多的是一种疏忽而不是故意的。

NetStandard项目是可移植的,这意味着它可以在Linux或Mac机箱中使用。当它试图引用一个只针对.NET4.6.1的类库时,您认为它会做什么?如果您使用“旧”csproj格式引用项目,它会起作用。有一定的意义(但不是太多),因为这主要是为了移植旧代码,而“新”csproj格式根本不存在。如果您直接引用.dll也可以工作(在这种情况下,使用哪个csproj当然无关紧要)。@Evk-Oh它确实可以工作。我自动转换了项目,因为新的csproj+PackageReference非常棒(是的,我知道我也可以将它与旧格式一起使用,但我没有将它与nuget、projects等进行非常棒的新分离)。这是有道理的,保留旧格式不是什么大问题,但我不理解这种限制。在尝试时,它实际上有点糟糕:如果你不想看到编译错误,你也不能使用新的PackageReference功能(考虑到引用项目中packages.config和packagesreference之间的差异,这在某种程度上是有意义的)。您是否可以将您的评论转换为答案,这样我们就可以结束这个问题?如果我也不忘的话,我会多加一点代表,尽管我猜您也不再太在意这一点:-)
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <ProjectReference Include="..\FullFramework\FullFramework.csproj" />
  </ItemGroup>
</Project>
<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'.