最近在写.Net Core的API,由于之前没接触过Core,所以自己的想法很简单,感觉和.Net都是差不多的东西,发布部署还是按.Net的那一套来,可谓是困难重重,走了不少弯路。
也没什么漂亮的词语,也不是技术大牛,就是抱着学习技术的态度,随手写写这一套流程,以及遇到的问题跟解决方法。
一、安装服务器环境
IIS Path-->Control Panel\All Control Panel Items\Programs and Features
没细致研究,全装了~
二、发布API
1.选择File System,设置Target location.
2.配置文件,选择框架依赖,需要安装SDK,选择独立不需要安装SDK。。还有就是一定要安装托管模块(下载地址,下面有说明)
我用的VS2017,设置好了发布就可以~
三、添加网站到IIS
1.添加WebSite,填写Site name和Physical path.
2.设置该网站的Application Pools, .NET CLR version设置为 No managed Code.
四、服务器环境搭建及问题解决
1.安装.NET Core SDK和AspNetCoreModule托管模块
ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是使用自托管Web服务器(Kestrel)运行
链接:SDK 密码:g02o
链接:托管模块 密码:8mxu
上面的链接文件已删除。。。
使用 IIS 在 Windows 上托管 ASP.NET Core:
https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.1#install-the-net-core-hosting-bundle
下载.NET Core 3.1(里面有SDK和托管模块):
https://dotnet.microsoft.com/download/dotnet-core/3.1
我下载的是3.1.9,IIS运行时支持(ASP.NET核心模块v2) 托管包,
SDK的话, 看着对应版本安装吧
下载托管模块
- 导航到 .NET Core 页面。
- 选择所需的 .NET Core 版本。
- 在“运行应用 - 运行时”列中,查找所需的 .NET Core 运行时版本的那一行。
- 使用“托管捆绑包”链接下载安装程序。
不出问题基本安装完后,基本可以访问了
2.错误502.5一般就是没装.NET Core SDK和AspNetCoreModule托管模块
3.另一个比较奇葩的错误
解决方法:看下你的发布文件夹里面是否缺少WebApi.xml,如缺少请手动复制到服务器指定路径下。
4.如果遇到其他问题请查看日志或者查看官方给出的解决方案(官方解决方案地址)