第一部分:本教程介绍如何在 IIS 服务器上托管 ASP.NET Core 应用。

  官方文档地址:https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/publish-to-iis?view=aspnetcore-3.1&tabs=visual-studio

本教程涵盖以下主题:

  • 在 Windows Server 上安装.NET Core Hosting Bundle。
  • 在 IIS 管理器中创建 IIS 站点。
  • 部署 ASP.NET Core 应用。

我概况一下,主要是安装2个文件:

1、安装. NET Core SDK 安装在开发计算机上(dotnet-sdk-3.1.100-win-x64.exe)

      下载地址:https://dotnet.microsoft.com/download。选择 Download .NET Core SDK 这个版本进行安装就可以。

2、安装 .NET Core 托管捆绑包(dotnet-hosting-3.1.0.exe)。使用以下链接下载安装程序:

下载地址:当前 .NET Core 托管捆绑包安装程序(直接下载)  https://www.microsoft.com/net/permalink/dotnetcore-current-windows-runtime-bundle-installer

3、安装 Web Platform Installer。(这一步可以省略,我见.net core 2.0版本有人装这个,我的windows10安装了,windows Server服务器没有装 )。

下载地址:https://www.microsoft.com/web/downloads/platform.aspx

4、重启电脑,或者在命令行执行以下命令(我建议以下命令执行完后重启电脑吧)。

    重启服务器或在命令行界面中执行 net stop was /y,后跟 net start w3svc 。

第二部分:关于发布、部署到iis的一些配置:

1. 关于visual studio 2019发布.net core 3.0时一些配置

发布-步骤1:选取发布目标:选择文件夹,然后点击高级:

发布-步骤2:目标框架:netcoreapp3.0, 部署模式:框架依赖,目标运行时:选择可移植。然后保存。

     注意: 这里要重点说明:这里的目标运行时:win-x64、win-x86 是你第一步,安装.net core sdk的运行时版本。

   我们在第一部介绍时,就直接选择的是64位按照包,所以这个文章所有截图中都是选择64位运行时版本。

发布-步骤3:点击发布按钮,就发布完成。

2.部署到iis 。

建议查看官方文档:将 ASP.NET Core 应用发布到 IIS ,https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/publish-to-iis?view=aspnetcore-3.1&tabs=visual-studio。

这里截图列一下我的关键配置:

1.应用程序池,选择无托管模式。我电脑是64位,选择“启用32位应用程序”为“false”。

            

iis进程高级选项中,修改进程模块的“标识”,使用有管理员角色的账号登录。如果不使用管理员权限账号,我这里会报500.0 - ANCM In-Process Handler Load Failure。所以一定要改。

2.权限配置:选择【网站】》选中【要更改的网站】,点击【基本设置】,弹出如下对话框。点击【连接为】,路径凭据中选择【特定用户】,点设置,输入管理员账号和密码。

第三部分:使用 IIS 在 Windows 上托管 ASP.NET Core  问题太多:

  官方文档https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/index?view=aspnetcore-3.1#iis-configuration 官方文档。

我部署过程中遇到的问题:如下

HTTP Error 500.0 - ANCM In-Process Handler Load Failure

Troubleshooting steps:

  • Check the system event log for error messages
  • Enable logging the application process' stdout messages
  • Attach a debugger to the application process and inspect

For more information visit: https://go.microsoft.com/fwlink/?LinkID=2028526

下图:

部署后出现的以上错误的原因可能有以下几点:

1、没有安装第一部分中的前2个安装包:.net core sdk(.NET CORE SDK) 和 dotnet-hosting( .NET Core 托管捆绑包)

2、发布或者部署时运行时版本没有选择正确。现在一般都是64位。注意看商品的配置。

3、部署后给的iis的权限不够。修改iis网站和应用程序池,分管理员用户权限。

其他参考:

Windows平台部署Asp.Net Core应用(基于IIS和Windows服务两种模式) : https://blog.csdn.net/weixin_33757609/article/details/93693395 。

Windows平台部署 Asp.Net Core 3.1.0,将 ASP.NET Core 应用发布到 IIS ,使用 IIS 在 Windows 上托管 ASP.NET Core的更多相关文章

  1. 使用 Nginx 在 Linux 上托管 ASP.NET Core 应用程序

    本文于2019年04月10日将标题「CentOS7 部署 ASP.NET Core应用程序」修改为「使用 Nginx 在 Linux 上托管 ASP.NET Core 应用程序」. 环境准备 VMwa ...

  2. 使用 Nginx 在 Linux 上托管 ASP.NET Core

    server { listen 80; server_name example.com *.example.com; location / { proxy_pass http://localhost: ...

  3. Windows平台部署Asp.Net Core应用

    一. 简介 Asp.Net Core 部署方式有两种:依赖框架和独立部署. 1. 框架依赖的部署: 顾名思义,依赖框架的部署 (FDD) 依赖目标系统上存在共享系统级版本的 .NET Core. 由于 ...

  4. 指尖上的电商---(11)Windows平台部署SolrCloud

    SolrCloud是一种分布式解决方式,是基于zookeeper和solr的,能够简单理解为一种集群,能够提供分布式查询.分布式写索引. SolrCloud的结构大致是这种,一个SolrCloud包含 ...

  5. UE4 Windows平台部署游戏到IOS 第一部分

    UE4 Version 4.11.2 or 4.12.2 方法步骤: 1.申请IOS开发者账号,大概三个工作日左右激活. 2.下载iTunes 3.创建项目因为是在Windows平台,根据官方的提示只 ...

  6. 使用 Docker 在 Linux 上托管 ASP.NET Core 应用程序

    说在前面 在阅读本文之前,您必须对 Docker 的中涉及的基本概念以及常见命令有一定了解,本文侧重实战,不会对相关概念详述. 同时请确保您本地开发机器已完成如下安装: Docker 18.06 或更 ...

  7. 第三节:Windows平台部署Asp.Net Core应用(基于IIS和Windows服务两种模式)

    一. 简介 二. 文件系统发布至IIS 三. Web部署发布至IIS 四. FTP发布至IIS 五. Windows服务的形式发布 ! 作       者 : Yaopengfei(姚鹏飞) 博客地址 ...

  8. 使用 IIS 在 Windows 上托管 ASP.NET Core

    参考微软文档: https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/index?tabs=aspnetcore2x 将as ...

  9. UE4 Windows平台部署游戏到IOS 第二部分

    点击加号后会出来如下截图 勾选上红色单选框处(因为这个我已经申请过了所以是灰色),然后continue到后面会出现下图 选择一个之前我提到申请证书会用的的那个.csr后缀文件夹,完成以后就可以下载证书 ...

随机推荐

  1. AtCoder Grand Contest 037题解

    传送门 \(A\) 直接把每个字母作为一个字符串,如果某个串和它前面的相同,那么就把这个字母和它后面那个字母接起来.然而我并不会证明这个贪心的正确性 //quming #include<bits ...

  2. [LeetCode] 377. Combination Sum IV 组合之和之四

    Given an integer array with all positive numbers and no duplicates, find the number of possible comb ...

  3. 关于ProxmoxVE

    1) PVE简介 PVE是Proxmox Virtual Environment(Proxmox虚拟化环境,也通常简称为Proxmox VE)的简称,它是基于QEMU/KVM和LXC的开源服务器虚拟化 ...

  4. IdentityServer4实现原理

    OAuth&OpenIDConnect是什么? 最近因为工作的原因,大概有两个月时间没写博客了,本来今年给自己的目标是每个月写一篇,或许记录工作中踩过的一些坑,或许学习一些新的技术框架.说实话 ...

  5. 在Mu-kittenbot中使用Robotbit固件

    首先,先下载安装支持robotbit扩展板的Mu: http://cdn.kittenbot.cn/mu/mu-kittenbot.exe 标准的3针插口,信号,正电,负电,可接市面的arduino模 ...

  6. SpringBoot整合SpringDataJPA及在页面yaml中显示

    SpringBoot整合SpringDataJPA及在页面yaml中显示 1:创建对应的数据表 2:添加依赖 3:配置数据源 1:创建对应的数据表 CREATE TABLE `user` ( `id` ...

  7. Appium+python自动化(七)- 初识琵琶女Appium(千呼万唤始出来,犹抱琵琶半遮面)- 上(超详解)

    简介 “千呼万唤始出来,犹抱琵琶半遮面”,经过前边的各项准备工作,终于才把appium这位琵琶女请出来.那么下边就由宏哥给各位看官.小伙伴们和童鞋们来引荐这位美女(帅哥).这一篇主要是对前边的内容做一 ...

  8. SpringCloud 别人的主页

    https://www.cnblogs.com/xuwujing/ java(28) springBoot(14) 设计模式(14) springcloud(7) hadoop(7) hive(5) ...

  9. 【VS2019】Web项目发布时提示无法连接FTP服务器

    使用 Visual Studio 2019 时出现的问题 环境:win10 ltsc 场景 发布Web项目到FTP时 失败,并提示 _无法打开网站"ftp://...".未安装与 ...

  10. c#页面重定向,Server.Transfer 和 Response.Redirect

    Server.Transfer() 重定向发生在服务器端,把处理的控制权从当前页面转移到另一个页面,在转移的工程中没有离开服务器内部控件(如request,session等)保存的信息不变. 1.只能 ...