.net 6写的程序,需要在Windows服务器的IIS中部署,由于是刚装的系统,先安装.net 6运行时,装了才发现没有IIS,于是又通过“添加角色和功能”添加与IIS相关的功能。安装完毕后,在IIS中添加网站,并将应用程序池设置为“无托管代码”,但是点击网站右侧的任一IIS设置时,都会报错“执行此操作时出错”(没有截图,报错内容类似下面第三个图,该图来自参考文献1)。
最开始以为是IIS安装得有问题,反复安装了好几次,将“添加角色和功能”向导中可能相关的功能都安装了,不过依旧报错。
由于浏览网站时报500.19的错误,网上查这个报错说是文件夹权限,于是将程序文件夹设置为everyone完全控制权限,但依旧报错。
还试过移动程序文件夹路径,也不行。直接运行文件夹中的exe文件,可以正常运行,且通过浏览器也能访问服务,但在IIS中浏览就一直有问题。
最后在网上百度“执行此操作出错”,找到参考文献1,文章提到是IIS和asp.net core的安装顺序的问题,需要先安装IIS,再装Asp.net Core 运行时,而本文中确实是反着装的,于是又将Asp.net Core运行时重装了一遍,再在IIS中浏览网站,问题解决。
参考文献:
[1]https://www.cnblogs.com/tianma3798/p/18146659