Ban*_*San 15 .net .net-core asp.net-core .net-standard
我仍然对.NET Core和.NET Standard如何相互关联感到困惑.
据我所知,.NET Standard是一个接口定义(与Katana是OWIN的实现方式不同)..NET Framework将实现.NET Standard的版本.
到目前为止这是正确的吗?
.NET Core将其依赖项捆绑在其中.这些依赖项将使用.NET Standard接口的实现.这可能是.NET Framework,Mono或其他东西.
ASP Core是.NET Core,引用了"Web"内容.几乎只是一个Visual Studio模板,它可以通过.NET Core控制台应用程序构建.
我还在接近正轨吗?
最后,如果我可以创建一个新的绿色字段应用程序,那么.NET Core应该是受欢迎的技术(假设我不需要任何仅.NET Framework程序集).
最后一个问题,我可以从.NET Core项目中引用GAC中的.NET Framework程序集吗?
干杯
Luk*_*wej 10
我的理解是.NET Core正在实施.NET Standard.
因此.NET Standard更像是规范,.NET Core是实现该规范的实际框架.
.NET Standard也由其他框架实现,如as .NET Framework或Xamarin(并ASP.NET Core建立在顶部.NET Core).
.NET Standard与.NET Core有何不同?
.NET Standard是一个规范,涵盖了.NET平台必须实现的API.
.NET Core是一个具体的.NET平台,它实现了.NET标准.
.NET标准是.NET API的正式规范,旨在提供给所有.NET运行时.
各种.NET运行时实现.NET Standard的特定版本.
.NET Standard是一组所有.NET平台必须实现的API.这统一了.NET平台并防止了未来的碎片.
.NET Standard 2.0将由.NET Framework,.NET Core和Xamarin实现.对于.NET Core,这将添加许多已请求的现有API.
.NET Core本质上是.NET Framework的一个分支
另一种看待它的方法:.NET Framework基本上有两个分叉.一个分叉由Microsoft提供,仅适用于Windows.另一个分支是Mono,你可以在Linux和Mac上使用它.
有关详细信息,请阅读:
如果您构建一个面向.NET Standard版本的库,则可以在任何实现此版本或更高版本.NET Standard的运行时上使用它.这适用于.NET Core以及mono(=> Xamarin),UWP(.NET Native)和.NET Framework.
分发的细节并不重要..技术上,.NET Core <2.0依赖于NETStandard.Library构建的方式,但是2.0的变化.
ASP.NET Core是"一定"的一组库和工具,它们在.NET标准版本(2.0之前的版本也是.NET Framework)上运行.这意味着您可以为.NET Core和.NET Framework构建ASP.NET Core应用程序 - 如果它们支持所需的.NET Standard级别,甚至可能是其他运行时.
对于新项目,评估您的需求是有意义的..NET Core具有与.NET Framework不同的服务策略,.NET Framework仍然具有不会包含在.NET Core中的组件和API - 例如WinForms和WPF.
对于新的库项目,尽可能以.NET Standard而不是.NET Framework为目标是有意义的,以确保在更多类型的项目中可重用.