zoukankan      html  css  js  c++  java
  • .net core app的几个依赖究竟是什么

    前言

    通过这篇文章,对这几个概念/引用有了一些了解:

    • .netcore.app
    • .aspnetcore.app
    • .net framework
    • netcoreappx.x
    • .net standard

    分两个层级考虑这个问题

    1. 应用所基于的framework版本
    2. 应用引用的nuget包

    framework

    比如,创建应用时VS指定基于.net core 2.2版本的framework,那么在项目的csproj文件中,就会有如下信息:

    <PropertyGroup>
        <TargetFramework>netcoreapp2.2</TargetFramework>
      </PropertyGroup>
    

    如果指定的是原来的.net framwork,这里就会是.net framework的版本,如
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

    依赖的库文件/包

    如果创建了.net core的应用,那么会自动添加Microsoft.NetCore.App的包,这是.net core应用程序的平台框架。

    如果.net core需要使用诸如MVC等功能,则进一步需要依赖Microsoft.AspNetCore.App包。

    来自Framework

    当指定了framework时,编译时会自动根据framework版本,找到这组framework依赖的包。

    .net standard

    其中有一个库是Netstandard.Library,这就是会经常听到的.net standard这个概念。
    .net standard是.net 一系列最基本的库包,它实际上又包含了一组库。
    所包含的这些库与.net standard版本有关。

    特别的,其中有一个NetStandard.Platform库,.net standard中的其他库都会依赖该库。

    关于.net框架

    .net 框架

    • .net : .net是一个平台,包含了CLR的定义,各种语言(c#,f#vb)的定义,各种framework等等
    • .net standard: 规定了一套API,不同的.net standard版本API依次丰富
    • .net framework: 从02年开始诞生的.net 平台的框架,从.net 4.5开始,.net framework开始对接.net standard 1.0版本。
      也就是说如果程序使用了.net framework 4.5,那么就能使用所有的.net standard API。
    • .net core: 新的跨平台.net 框架,从头.net core 1.0开始即支持到.net standard 1.6,最新的.net core 2.2支持到.net standard 2.2。

    应用程序可以面向.net standard,也可以面向.net framework或者.net core框架。
    面向.net standard应用,可以运行在安装了.net framework的机器上,也可以运行在.net core运行环境上。而使用了后两者的框架则需要相应的框架支持才可以运行,从而可以做到一次编译,多处运行这样的目的

    但是后两种框架提供了超出.net standard的API,比如.net framework有专门面对windows 的API。

    asp.net / asp.net core

    asp.net是.net framework上又一层应用框架,包含了更多的功能,比如MVC等等。
    同理asp.net core是.net core之上的一层应用框架。

  • 相关阅读:
    DDD:管理“工作单元实例”的两种模式
    DDD:DDD+CQRS+高伸缩性的分布式架构
    ExtJS4.2:快捷键支持(没有你想象的那么简单)
    DDD:用 “四色原型” 进行 “职责分配”
    .NET:处理数据库事务中的并发
    Javascript:必须知道的Javascript知识点之“单线程事件驱动”
    技术交流:20130413线下交流总结,不再做苦逼的程序员
    Javascript:必须知道的Javascript知识点之“原型链”
    DDD:主键映射,你一直在使用的企业应用模式
    设计原则:重复的方式以及如何消除重复
  • 原文地址:https://www.cnblogs.com/mosakashaka/p/12608520.html
Copyright © 2011-2022 走看看