• asp.net web core 部署问题汇总


       记录所有部署时遇到的问题。

       微软官网部署说明

      转载自:.NET Core 3.0 构建和部署(测试过可以使用)

        A    单文件可执行文件(文件体积较大,合并所有依赖)      

            asp.net core 项目文件(*.csproj)添加以下代码

               <RuntimeIdentifier>win10-x64</RuntimeIdentifier>
                <PublishSingleFile>true</PublishSingleFile>

       B   程序集链接(比A项文件体积小,只合并项目中使用的依赖)[有风险]

              但是启用这个特性的时候一定要注意,如果项目使用到了反射或相关动态功能(例如 ASP.NET Core  WPF,那么通常会在剪裁时损坏

     发生此损坏是因为链接器不知道此动态行为,并且不能确定反射需要哪些框架类型。 可配置 IL 链接器工具以发现这种情况。   

    最重要的是,剪裁后务必对应用进行测试。 

              asp.net core 项目文件(*.csproj)添加以下代码

        <RuntimeIdentifier>win10-x64</RuntimeIdentifier>

        <PublishSingleFile>true</PublishSingleFile>

        <PublishTrimmed>true</PublishTrimmed>

       C  ReadyToRun 镜像 【改进.net core启动时间】[推荐]

         asp.net core 项目文件(*.csproj)添加以下代码

        <RuntimeIdentifier>win10-x64</RuntimeIdentifier>
        <PublishSingleFile>true</PublishSingleFile>
        <!--<PublishTrimmed>true</PublishTrimmed>-->

        <PublishReadyToRun>true</PublishReadyToRun> 

      .NET Core RunTime 下载(匹配开发.NET Core的版本)

        选择 Run apps - Runtime ----->ASP.NET Core/.NET Core: Runtime & Hosting Bundle

         选择端口  5001-65535(5000以下容易被windows占用)

      发布选项设置

         部署模式:框架依赖(推荐)【手工安装.net core runtime】

                           独立【不安装.net core runtime,适用于服务器有多个版本.Net Core,发布包已包含所有依赖的类库】

         目标运行时:可移植(推荐)

      2   部署到IIS时HTTP Error 500.30 – ANCM In-Process Start Failure,但是直接调试时没问题?Net Core 3.0 [2019/10/27]

          原因:配置文件里appsettings.json缺少符号或代码错误

          解决:的确是appsettings.json格式有问题【在网上找了JSON格式化工具】

                  既然是JSON格式有问题, vs竟然也编译通过!!!

     3   IIS 单个网站启动不了,默认网站正常。

         

         原因: 端口被占用

         解决:修改端口 

     4  HTTP Error 503. The service is unavailable.

     原因:应用程序池“Test”将被自动禁用,出现严重错误。

    解决方法:

    下载安装 Visual C++ Redistributable for Visual Studio 2015 组件即可,重启后解决问题。
    转载自 :https://blog.csdn.net/RazerFan100/article/details/88578433

    5 修改部署端口5000【.NET Core 3.0】

     解决:appsettings.json 文件

               添加  "urls":"http://*:10010;http://*:10011"

    发布时不包含appsettings.*.json

       注:appsettings.json还是需要的,否则全部是默认配置。

       解决: asp.net core 项目文件(*.csproj)添加以下代码

      <ItemGroup>
          <Content Remove="appsettings.Development.json"></Content>
          <None Include="appsettings.Development.json" />
      </ItemGroup>

    7  发布时不生成web.config文件

     说明:appsettings.json 完全可以替代web.config

       解决: asp.net core 项目文件(*.csproj)添加以下代码   

      <IsTransformWebConfigDisabled>true</IsTransformWebConfigDisabled>

                     

  • 相关阅读:
    [LeetCode] Trips and Users 旅行和用户
    [LeetCode] Rising Temperature 上升温度
    [LeetCode] Delete Duplicate Emails 删除重复邮箱
    [LeetCode] Department Top Three Salaries 系里前三高薪水
    Spring boot Jackson基本演绎法&devtools热部署
    使用spring tool suite(STS)工具创建spring boot项目和出现错误后的处理
    Spring Boot 2.0官方文档之 Actuator
    springboot 使用webflux响应式开发教程(二)
    SpringBoot在自定义类中调用service层等Spring其他层
    springBoot单元测试-模拟MVC测试
  • 原文地址:https://www.cnblogs.com/forearm/p/11749597.html
Copyright © 2020-2023  润新知