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版本的应用。

  • 相关阅读:
    Solr学习笔记(5)—— Spring Data Solr入门
    Redis学习笔记(6)——SpringDataRedis入门
    SpringDataRedis java.net.UnknownHostException: 127.0.0.1 错误
    Spring Security 入门
    基于Laravel框架下使用守护进程supervisor实现定时任务(毫秒)
    laravel框架中Job和事件event的解析
    Laravel源码解析之model(代码)
    Laravel框架下路由的使用(源码解析)
    Laravel服务容器的绑定与解析
    laravel框架中超实用的功能介绍
  • 原文地址:https://www.cnblogs.com/toolgood/p/15244809.html
Copyright © 2011-2022 走看看