• P18 .Net Core 部署


    P18 .Net Core 部署

    .Net Core 部署类型.

    • FDD, Framework-dependent
    • SCD, Self-contained

    FDD 即:依赖于 Framework(框架)
    SCD 即:自包含,什么都不需要.

    FDD Framework-dependent

    • 优点:

      • 无需配置服务器的操作系统.
      • 部署包很小.
      • .Net Core 是共享的.
    • 缺点:

      • 只有在预先安装了 .Net Core的情况下才能运行.
      • 可能会有兼容性问题. (应用程序需要的 .Net Core版本不一致)

    SCD Self-contained

    • 优点:

      • 可以对你使用的 .Net Core版本进行单独隔离控制.
      • 应用程序100%可以目标系统运行.
      • 不同 .Net Core 版本的应用可无干扰共存并运行.
    • 缺点:

      • 需要配置目标服务器操作系统.
      • 部署包比较大.

    FDE Framework - Dependent executables

    FDE 模式不常用,如果需要了解,我们需要去查询官方文档.
    FDE 模式可以总结为是, FDD模式和SOD模式的结合体.

    部署模式 选择: 依赖框架,而 目标运行时 选择:除可移植之外的系统类型,即是FDE 部署模式.

    FDE不是模式生成的文件包括: 自己写的代码生成的程序集,以及不在.Net Core运行时中的dll也会生成进来.

    • 自包含的部署.
    • 会使用以前安装过的 .Net Core的资源.
    • 生成系统原生的可执行文件.

    发布过程

    第一步我们先右击需要发布的 .Net Core 项目(前提是能编译通过). 选择发布:
    选择发布

    选择文件夹,我们可以修改文件夹所在的位置,然后点击创建配置文件:
    选择文件夹

    此时如果我们想修改的话我们需要点击编辑:
    编辑配置

    在弹出的页面使用默认的文件系统,并点击设置:
    发布配置

    进行设置:
    修改配置

    配置: 表示使用何种发布模式 如: Release , Debug
    目标框架: 表示允许此程序需要的 .Net Core 版本.
    部署模式: 有框架依赖(FDD),独立(SCD)
    目标运行时:
    目标运行时
    可移植: 表示当前的程序依赖于 .Net CLR 来运行我们的程序,即,我们不再需要生成具体平台的可执行程序了,如:windows下的exe程序.

    接下来,点击保存,之后点击发布,之后等待发布结束即可.

    表示发布已经结束,并发布成功
    表示发布已经结束,并发布成功

    发布成功之后会生成如下文件:
    发布文件

    .Net Core 下载地址

    使用FDD模式发布的 .Net Core 项目,我们需要在运行的系统上安装 .Net Core运行环境,否则无法使用此 .Net Core 项目.

    由于项目要求使用的是 .Net Core 3.1,我电脑上没有安装 .Net Core 3.1 框架所以会运行失败.

    运行失败例:
    运行失败

    下面我们装 .Net Core 3.1.3 共享框架
    下载运行时

    .Net Core 3.1.3 共享框架安装完成.
    安装完成

    我们再运行一下:

    运行失败
    运行失败

    还是运行失败,我们注意到:

    • It was not possible to find any compatible framework version
      The framework 'Microsoft.NETCore.App', version '3.1.3' was not found.
      找不到任何兼容的框架版本找不到版本为“3.1.3”的框架“Microsoft.NETCore.App”。
    • You can resolve the problem by installing the specified framework and/or SDK.
      你可以通过安装指定的框架和/或SDK来解决问题。

    如果我们希望在windows左面运行 .Net Core 程序我们需要下载Run Desktop apps 中的下载项,如果想在windows 服务器(IIS)上运行 .Net Core项目,我们需要选择Run Server apps 中的下载项,在Linux系统中需要运行.Net Core 项目下载Linux运行依赖即可.
    复制上面的网址进行下载:
    Windows系统相关下载

    Liunx系统相关下载
    Liunx系统相关下载

    安装:
    安装

    安装完成
    安装完成

    再一次运行:
    运行成功

    检查是否可以访问
    检查是否可以访问

    几个和 .Net Core 相关的cmd 命令

    查看当前使用的 .Net Core 版本

    dotnet -- version

    查看当前windows计算机上安装的所有版本 以及版本地址

    dotnet -- info

    使用 .Net 帮助命令

    dotnet -- help

    使用 SCD 部署类型进行部署

    部署配置
    部署配置

    将部署模式选择为:独立
    将目标运行时:选择你想要运行的系统类型,保存,然后发布即可.

    这个发布过程就会相对于FDD模式有就有点慢了,因为它需要包含 .Net Core相关的运行时,以及一些依赖文件.

    发布成功
    发布成功

    我们可以看到发布后的文件多了很多文件.
    发布结果

    此时我们运行一下程序发现可以成功了:
    发布成功

    并且可以顺利的请求到:
    请求成功能

    沿用上面的操作,我们使用SCD部署类型也可以生成自包含的,无依赖的 .Net Core项目文件,并将其部署至Liunx或者其它操作系统之上.

  • 相关阅读:
    SQL大全基本语法
    ASP.NET实现二维码
    JMeter下载及安装配置完整版
    windows下搭建nginx负载均衡
    C# 接口生成工具Swagger用法
    在IIS上部署网站,应用程序池选择.Net Framework版本为 v4.0.30319后,打开网站报错
    sqlserver 中WITH NOLOCK、HOLDLOCK、UPDLOCK、TABLOCK、TABLOCKX
    C#进阶学习笔记
    C#单例模式的理解
    实现WebService只返还json结构数据
  • 原文地址:https://www.cnblogs.com/HelloZyjS/p/12575647.html
Copyright © 2020-2023  润新知