使用VS2019发布.Net Core MVC项目并部署到IIS过程+错误解决

安装IIS和.Net Core运行时

首先,确保你的电脑已安装IIS,才能进行后续操作,安装过程如下。

安装IIS

首先打开Windows系统,选择控制面板进入
使用VS2019发布.Net Core MVC项目并部署到IIS过程+错误解决
选择“程序“ -> ”启用或关闭Windows功能“
使用VS2019发布.Net Core MVC项目并部署到IIS过程+错误解决
选择.NET Framework和Internet Information Services,如下图
使用VS2019发布.Net Core MVC项目并部署到IIS过程+错误解决
选择完后点击确定,就会开始安装,等待安装完成即可。

安装.net core运行时程序

下载地址官网运行时下载
因为我的项目是2.2的,所以下载的是2.2版本的,大家可以根据自己的项目版本对应选择下载。
下载完成后双击安装包安装即可
安装完成后,搜索框输入IIS进入IIS,双击进入模块,如图
使用VS2019发布.Net Core MVC项目并部署到IIS过程+错误解决
如果看到AspNetCoreModule,表示安装成功,就可以进行下一步处理,如果没有看到,可能是安装出错或者版本不对应原因,重新安装或安装对应版本即可。
使用VS2019发布.Net Core MVC项目并部署到IIS过程+错误解决

以文件形式发布.net core项目

我是在vs上直接发布项目的
1.选中项目,右键->发布
使用VS2019发布.Net Core MVC项目并部署到IIS过程+错误解决
选择以文件系统发布,设置发布文件的目标位置,这里我设置在D盘,大家可以自行选择,注意记住自己发布文件位置,IIS上需要使用。
使用VS2019发布.Net Core MVC项目并部署到IIS过程+错误解决
点击发布,等待发布成功即可
**

这里要说发布的坑

**
因为我数据库用的是EF Core做的数据迁移,发布时大家一定记得把数据库文件一并复制发布,勾选数据库配置,不然运行在IIS,会报HTTP 500内部服务器错误,原因就是数据库连接问题,只复制发布了静态文件。
使用VS2019发布.Net Core MVC项目并部署到IIS过程+错误解决

IIS上建立网站

首先进入IIS,点击网站,选择添加网站
使用VS2019发布.Net Core MVC项目并部署到IIS过程+错误解决
进入设置网站名,可以设置成自己好认的有标识性的名称,物理路径选择你项目发布的位置,然后设置一个可用的端口号,主机名由于我没有申请域名,就使用的本机,没有填,大家已申请的可以填上。
使用VS2019发布.Net Core MVC项目并部署到IIS过程+错误解决
设置完成后,点击确定即可,后续都可通过设置进行修改。
在上面步骤添加网站完毕后,会自动创建和网站名称相同的应用程序池,
**
设置应用池为无托管代码
**
使用VS2019发布.Net Core MVC项目并部署到IIS过程+错误解决
选择CLR为无托管代码
使用VS2019发布.Net Core MVC项目并部署到IIS过程+错误解决
全部设置完成后,点击右侧浏览网站,即可显示对应网站
使用VS2019发布.Net Core MVC项目并部署到IIS过程+错误解决
有人浏览出来的是项目目录结构,就可以看一下设置的启动项目是不是正确

错误填坑!!

最最容易出现的错误,HTTP 500 内部服务器错误
使用VS2019发布.Net Core MVC项目并部署到IIS过程+错误解决
查看计算机错误日志,错误提示:用户 ‘WORKGROUP\LAPTOP$’ 登录失败。 原因: 无法打开明确指定的数据库“GraduateSharingWebData”。 [客户端: local machine>]
使用VS2019发布.Net Core MVC项目并部署到IIS过程+错误解决这里是权限问题,应用程序池标识为LocalSystem,大家一定要知道自己的项目设置,不记得的可以把标识一个一个试一下,我这里就是权限问题
使用VS2019发布.Net Core MVC项目并部署到IIS过程+错误解决
选中应用程序池,点击高级设置,找到标识这一行
使用VS2019发布.Net Core MVC项目并部署到IIS过程+错误解决
我这里要设置成自定义账户,用户名密码设置权限,大家一般没有权限要求的LocalSystem就可以了
使用VS2019发布.Net Core MVC项目并部署到IIS过程+错误解决
到此,就可以正常浏览网页啦
大家有别的错误或者想法,也欢迎一起交流