最近想把.net core的几种发布方式都试下,于是记录下,方便大家参考。

  1.安装iis(已有的则跳过):

  如下图所示,通过控制面板打开windows功能,将Internet Information Services全部勾选,然后点击确定来进行下载安装。

  

asp.net core文件上传 asp.net core 发布_右键

 

 

   安装完后,在浏览器中输入localhost,如下图所示就说明iis安装成功了。

  

asp.net core文件上传 asp.net core 发布_asp.net core文件上传_02

 

 

   2.安装.net core托管模块(Hosting Bundle)

  下载地址:https://dotnet.microsoft.com/download/dotnet-core ,选择自己程序的版本,我的是3.1,所以点击.NET Core 3.1 ,

 

 

asp.net core文件上传 asp.net core 发布_.net_03

 

 

 

asp.net core文件上传 asp.net core 发布_下载安装_04

 

 

点击Hosting Bundle进行下载安装

  3.发布.net core程序

asp.net core文件上传 asp.net core 发布_右键_05

 

 第一次发布会跳出如下弹窗,

asp.net core文件上传 asp.net core 发布_.net_06

 

 选择文件夹,点击下一步,

asp.net core文件上传 asp.net core 发布_asp.net core文件上传_07

 

 点击完成,就会和下图一样。

asp.net core文件上传 asp.net core 发布_.net_08

 

 然后点击发布,

  

asp.net core文件上传 asp.net core 发布_下载安装_09

 

 从控制台输出看到这样就说明发布成功了。

  4.iis部署

  这也是最关键的一步了,从底栏的查询框输入Windows管理工具并打开,然后可以看到iis管理器,打开它。

asp.net core文件上传 asp.net core 发布_右键_10

 

 

 打开以后,右键网站,添加网站,

asp.net core文件上传 asp.net core 发布_下载安装_11

 

 

  将网站名称(按自己喜好取),物理路径(vs中发布的文件路径),端口给填上,点击确定。

 

asp.net core文件上传 asp.net core 发布_右键_12

 

然后点击应用程序池,右键已发布的站点,选择基本设置,

asp.net core文件上传 asp.net core 发布_asp.net core文件上传_13

 按照如下设置,确定。

 

asp.net core文件上传 asp.net core 发布_下载安装_14

 

 

 

 

   部署好之后,点击新添加的网站,然后浏览。出现了页面就ok了!看到这里是不是觉得就大功告成了呢?别急,本地发布了一般都是为了让局域网的其他电脑能够访问,我们来试下局域网内的其他电脑能否访问,很悲催,我试了下 并不能。那么问题出在哪呢,一般来说,可能是防火墙屏蔽了,我们来试下。

asp.net core文件上传 asp.net core 发布_下载安装_15

 

 

  5.防火墙开放端口。

  点击底栏的最右侧,打开所有设置,

asp.net core文件上传 asp.net core 发布_下载安装_16

 

 如下图所示,打开安全中心,选择‘防火墙和网络保护’

asp.net core文件上传 asp.net core 发布_asp.net core文件上传_17

 

 

如图操作,打开入站规则,

asp.net core文件上传 asp.net core 发布_.net_18

 

 新建规则,选择端口,下一步

asp.net core文件上传 asp.net core 发布_下载安装_19

 

 为了安全,还是开放特定端口,也就是你发布程序所用的端口。

asp.net core文件上传 asp.net core 发布_右键_20

 

 

asp.net core文件上传 asp.net core 发布_.net_21

 

 

asp.net core文件上传 asp.net core 发布_asp.net core文件上传_22

 

 

asp.net core文件上传 asp.net core 发布_右键_23

 

 填写完名称后,点击完成。然后再通过其他电脑测试,发现顺利打开页面,终于搞定了!