一、创建NET7 项目
1.1 选择 ASP.NET Core
1.2 选择相关的配置
根据需求选择是否需要集成Swagger
二、发布项目
如果是依赖Windows 系统,则选择 Windows,如果是想要跨平台的则选择【可移植】
三、相关配置项目
3.1 安装相关组件
.NetCore项目需要安装相关组件
- dotnet-sdk
- aspnetcore-runtime
- dotnet-hosting
四、问题点-部署到IIS上后报错
4.1 403.14-Forbidden
发布的配置将【目标运行时】从【可移植】改成【W64】
4.2 找不到Swagger的index.html界面
在WebConfig中添加配置:
<environmentVariables>
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
</environmentVariables>
完整的WebConfig
<?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=".\CadWebApi.exe" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" >
<environmentVariables>
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
</environmentVariables>
</aspNetCore>
</system.webServer>
</location>
</configuration>
<!--ProjectGuid: d9a72e54-96d1-41c9-ba8a-3b56416df2f9-->
然后生成XML文件,并且将该XML文件丢入到bin文件目录中去
4.3 HTTP 错误 500.31 - Failed to load ASP.NET Core runtime 表示 ASP.NET Core 运行时无法加载。这通常发生在尝试运行一个 ASP.NET Core 应用程序时,但是服务器上没有正确安装或配置 ASP.NET Core 运行时。
确保你的应用程序池(Application Pool)配置正确,并且指向了正确的 .NET CLR 版本。对于 ASP.NET Core 应用程序,通常使用“无托管代码”模式。
4.4注意swagger ui的默认地址
http://localhost:8082/swagger/index.html