选择完整的.NET框架和.NET Core作为ASP.NET Core目标?

lfk*_*lfk 3 .net asp.net visual-studio asp.net-core visual-studio-2017

我正在扩展使用.NET 4.5的系统.我需要:

  1. 其他项目能够引用我的新.NET Core库.
  2. 我的.NET Core项目能够引用我们的.NET 4库.

除了要定位哪个目标之外,我还注意到VS 2017甚至没有让我在创建新项目时选择以.NET Core为目标.在此输入图像描述

Min*_*ata 5

.net核心库实际上是.net标准库.因此,当您创建.net标准库时,它可以由完整框架类引用,但前提是您使用的.net标准版本是正确的.声音混乱?

简单来说,请看这里的图表https://github.com/dotnet/standard/blob/master/docs/versions.md

在此输入图像描述

如果您的完整框架类以.net framework 4.5为目标,那么也可以在.net core 1.0中使用它们,您需要使您的库使用.net标准1.1.

如果您已经运行了完整的框架Web应用程序,并且希望以.net标准构建库.你真正应该这样做的唯一原因是..

  • 您打算在不久的将来将WebApp转换为.net核心.
  • 您正在构建可以在其他.net核心项目中使用的类库.

如果您在可预见的情况下坚持使用Web应用程序的完整框架,那么就没有必要在.net标准中构建内容(特别是如果您必须为标准的缩减版本(如1.1)进行拍摄).

至于为何在创建.net核心项目时无法"定位"框架.如果你愿意的话,这是一个众所周知的"错误".或者更多,以便在创建.net核心项目时,下拉列表是多余的.它只会在您的计算机上使用最新版本的.net核心SDK(默认情况下).

进一步阅读: