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

  • 相关阅读:
    crypto 密码加密
    -webkit-box 高度自动填满
    performance数据
    AJAX
    Javascript sort方法
    Javascript reduce方法
    如何让div内的多行文本上下左右居中
    js基础
    for循环的执行顺序
    json对象和json字符串
  • 原文地址:https://www.cnblogs.com/mosakashaka/p/12608520.html
Copyright © 2011-2022 走看看