ASP.NET由IIS工作进程(w3wp.exe)托管
ASP.NET Core使用自托管Web服务器(Kestrel)运行
记得下载那个Hosting Bundle就是安装ASPNETCoreModulev2模块
1、安装前,cmd查看自己本身的core是那个版本,这样和部署的服务器core的版本一致
cmd:dotnet --version
cmd:dotnet --info
2、到官网选择下载,安装core需要的运行环境软件
小5选择的版本是:dotnet-sdk-2.1.509-win-x64.exe
.NET Downloads (Linux, macOS, and Windows)
3、完成操作,然后IIS添加站点,设置无代码托管即可
发现还是提示500错误无法访问
4、排查错误原因
在本地调试没问题,发布到新服务器IIS上就出现这个问题
原因:只安装了应用程序的dll,builds apps
还没有安装运行环境的dll,run apps(实质上就是一个模块)
就是在下图的Runtime 2.1.13下的Runtime & Hosting Bundle这个地方点击下载
5、安装run的软件
dotnet-runtime-2.1.13-win-x86.exe
6、sdk和runtime都安装好了后,直接重启电脑即可
总结:其实安装了sdk后,就可以先重启即可
7、403错误
当无法知道具体原因的时候,就要用到事件查看器了
控制面板 -> 管理工具 -> 事件查看器
8、一顿猛操作之后,也在懵逼中突然可以运行起来,总结大概就安装了如下软件
1_dotnet-sdk-2.1.505-win-x64
2_aspnetcore-runtime-2.1.9-win-x64
3_dotnet-runtime-2.1.7-win-x64
4_dotnet-hosting-2.1.9-win
5_安装DotNetCore.X.X.X-WindowsHosting和.Net Core SDK
9、IIS 安装AspNetCoreModule 模块,下载地址
10、经过从一脸蒙圈到一顿猛操作后,其实是小5有些概念没理解到位,现在初步整理下
1)SDK:.net core sdk 2.1.505,根据自己开发的版本下载
官网下载:https://dotnet.microsoft.com/download/dotnet-core/2.1
2)IIS模块:asp.net core module
使用 IIS 在 Windows 上托管 ASP.NET Core
安装成功后,在IIS上的模块里是可以看见选项的,如果没有则没安装成功
如果打开报错,那么也是打不开网站的
3)Runtime:asp.net core runtime 2.1.9
完成以上软件的下载和安装即可在IIS上部署成功
web.config可能没有文件,也会出现404
=========================以下为比较准确方式=========================
1、安装好SDK和模块以及Runtime
.net core版本和runtime一般都是在同一区域,版本号不一定一致
一般是三个文件
2、404错误
可能是因为web.config文件没有或者里面的信息不对导致
3、web.config可正确运行的信息
一般是在发布的时候都会自动生成如下信息
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\项目.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
</system.webServer>
</location>
</configuration>
<!--ProjectGuid: 4FDFC1EF-1486-4D2C-9775-EB2414BC9B9B-->
4、502.5报错解决方法
此处主要是由于无法读取到配置文件导致