IIS上部署和发布(I)

继续挖坑,今天记录一下window10系统下在IIS服务里部署.NetCore应用程序(进程内托管)!!!

官方文档参考:https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.2

第一步:创建一个Asp.NetCore 的应用程序,然后修改Program.cs配置文件如下:

 第二步:修改Startup.cs配置文件如下:

 第三步:选择发布到文件,依赖框架;

    注意选择对应版本的netcore sdk版本,不知道的话命令行里面使用:dotnet -version  ;即可查看;

第四步:开始配置IIS服务(前提你已经配置好了不会的可以百度):

  检查是否配置好IIS:localhost 出现欢迎界面即可;

  然后开始安装对应版本的ASP.NetCore 模块;如果该模块安装成功的话在IIS管理器 模块里如下图所示:

第五步:在IIS管理器界面,右键点击“网站”=>"添加网站”=>填写项对应的“网站名称,物理路径,端口号”信息;其余信息按个人意愿选填

  注意:端口号不能重复,所以需要先确认一下端口号是否被占用;

     可使用如下命令来确定:

       netstat -ano:显示所有的端口号使用情况

       netstat -aon|findstr "9050":显示特定端口的使用情况

       tasklist|findstr "2016":显示PID对应进程的信息

       taskkill /f /t /im tor.exe:强制结束某个应用

 第六步:右击应用程序池=>选择你的网站(以我的5003为例)右击基本设置=>在里面选择无托管代码

第七步:结束

问题总结:

1:静态文件访问不了

   可能原因:Asp.NetCore程序中需要添加 app.UseStaticFiles();

       IIS设置里面  万维网服务->常见HTTP功能->静态内容 要选上;如果不知道哪些该选的话建议全选

2:静态文件可以访问,但是提示 xx.css xx.js 报错

      可能原因:发布之前不选择的 .NetCore 框架的版本和你的发布运行时的版本不一致;此时只需要重新选择版本即可

3:IIS 配置好后运行提示:WindowsMicrosoft.NETFramework64v4.0.30319Temporary ASP.NET Files 没有写得权限

   解决方法:直接在该文件夹下新建Temporary ASP.NET Files 文件夹,然后创建一个Everyone角色,赋予角色可写权限即可

原文地址:https://www.cnblogs.com/gamecc666/p/12871139.html