• .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之上的一层应用框架。

  • 相关阅读:
    1、向服务传送复杂的类型实例(服务端程序)(摘自ProAndroid2)
    我项目中用到的jquery+json+struts2
    JSON与JAVA的数据转换
    管理和组织首选项
    python中如何对dict对象进行排序
    python cx_Oracle模块的安装和使用(linux环境)
    python cx_Oracle模块的安装和使用(linux环境)
    django的一个小功能——SortedDict
    Linux中source命令的用法
    linux uname命令参数及用法详解linux查看系统信息命令
  • 原文地址:https://www.cnblogs.com/mosakashaka/p/12608520.html
Copyright © 2020-2023  润新知