1.当前项目使用abp开发,框架是.net6.0 版本。项目开发完毕后是按照正常流程发布。因此发布完成后根目录下面会有一个 .exe 后缀可执行的应用程序。
2. 如果直接点击.exe 应用程序,是能正常运行的输出。
3.但是部署到iis 上,就出现如下错误
错误截图:
注意:部署到iis,是要安装.net 运行时的。当前我的项目是.net6,所以需要下载安装.net6 运行时 https://dotnet.microsoft.com/zh-cn/download/dotnet/6.0
4.出现以上错误原因
服务端IIS对调用exe程序有权限限制,没有正常启动插件,需要给调用插件的应用程序池赋予足够权限。
注意:如果是iis运行时,页面出现报其他503 等错误的情况,则不是这个原因。其他找其他解决方案,也可以参考这个
https://blog.csdn.net/weixin_39237340/article/details/125235510
https://blog.csdn.net/weixin_39237340/article/details/115023744
https://blog.csdn.net/weixin_39237340/article/details/119325858
5.解决:
IIS -> 应用程序池 -> 具体应用 -> 右键选择高级设置 -> 找到进程模型 -> 标识 -> 选择自定义账户 -> 输入administrator 账号密码 ,重启应用程序解决。
5.1 在iis中找到建立的网站,打开应用程序池 ,把CLR 改成无托管代码,防止被回收。
5.2 再次选择当前具体应用,右键,打开高级设置
5.3 找到进程模型,标识
5.4 打开标识,选择自定义账户
5.5 输入administrator 账号密码,输入完成点确认。由于当前我电脑账户是administrator,所以会是这个名称。这里是根据当前电脑使用的账户来使用。
5.6 重启应用程序,选上最上一级,点击重启。
5.7 重启完成后,打开网站。找到部署的网页,点击浏览
5.8 可以发现,能正常防问了。
参考文章:https://blog.csdn.net/dongcai7633/article/details/101564692