情况介绍:
新建了个.NetCore 5.0 的 WebAPI项目,发布部署到WINDOWS10 的 IIS后,默认打开 http://127.0.0.1/swagger 出现404找不到页面的错误。
原因:
因为.NetCore 5.0 自带集成了Swagger , 在发布项目时,通常会在代码中限制ASPNETCORE_ENVIRONMENT为Production时关闭Swagger。
解决方法:
项目发布后默认为 Production 生产环境,可修改 web.config 文件,改成 Development 开发环境就可以访问。
具体方法如下:在web.config中添加一下代码
<environmentVariables>
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
</environmentVariables>
修改后的web.config大致如下:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\DSM.WEBAPI.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" >
<environmentVariables>
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
</environmentVariables>
</aspNetCore>
</system.webServer>
</location>
</configuration>