zoukankan      html  css  js  c++  java
  • 《DotNet Web应用单文件部署系列》一、pubxml文件配置

      很多人想用DotNet开发软件赚点外快子补添家用,但心里总放不下心来,担心被人破解了。好消息是去年发布的DotNet 5支持单文件部署,不同于DotNet 3运行时将文件释放到临时文件夹内,DotNet 5运行时将文件释放到内存,将安全系数提高了一个层次。

      虽然DotNet 5发布已有9个多月了,却没有一个系统性讲单文件部署的系列文章,所以我写了这个系列。

    一)网上几种 .Net 5的单文件部署方式

      .Net 5下单文件发布的参数是/p:PublishSingleFile=true,它可以和其它几个参数组合,有如下几种单文件发布的方案。

    1.1)依赖于Framework

      dotnet publish -r win-x64 --self-contained=false /p:PublishSingleFile=true

    1.2)不依赖Framework

      dotnet publish -r win-x64 /p:PublishSingleFile=true

    1.3)在GUI中配置单文件发布

    在VS界面选择发布,配置如下:

    点击发布,生成如下:

    二、以上单文件部署的缺点:

           第一种:过分依赖于Framework是最大问题。

           第二、三种,不依赖于Framework,却多出了几个文件aspnetcorev2_inprocess.dll、clrcompression.dll、clrjit.dll、coreclr.dll、mscordaccore.dll。

           三种方案都未将wwwroot文件夹打包进EXE文件内。(下篇《打包wwwroot文件夹》)

    三、合并多出的dll文件的方案。

    3.1)在VS界面选择发布,配置后就会生成FolderProfile.pubxml

    3.2)在Properties PublishProfilesFolderProfile.pubxml文件的PropertyGroup节点下添加以下代码

      <IncludeNativeLibrariesForSelfExtract>True</IncludeNativeLibrariesForSelfExtract>

    3.3)执行发布,生成如下

     

    命令行如下:

      dotnet publish -c Release -p:PublishProfile=FolderProfile -o bin/Release-Win

             -c 为 指定配置方案

             -p:PublishProfile 指定 发布配置文件

             -o 指定输出目录

    双击后正常运行:

     

    后记:

      dotnet publish -c Release -p:PublishProfile=FolderProfile -o bin/Release-Win

      这个命令行是很有用的,可以做成批处理,同时生成linux和windows版本的应用。

  • 相关阅读:
    Centos7 JDK8安装配置
    select2
    docker 删除多个退出的容器
    redis 批量删除多个key
    Dockerfile 文件命令
    Docker部署go示例
    php 导入 excel 文件
    rabbitmq安装
    rabbitmq之php客户端使用实例
    k8s
  • 原文地址:https://www.cnblogs.com/toolgood/p/15244809.html
Copyright © 2011-2022 走看看