问题概述
asp.net core网站发布到windows server 2012r2 IIS后,出现这个报错。dotnet xx.dll命令网站能够正常运行。说明不是程序问题。
经过一番折腾终于部署成功,答案传到了stackoverflow,传送门:https://stackoverflow.com/a/58472897/7726468
解决过程
win10上部署,最初也是这个问题,但我将数据库连接方式由Trusted Connection改为了账号密码登录后,发布正常。
我使用的是进程外部署的模式,所以iis转发后,asp.net core站点其实是以iis中的application pool用户身份运行的。这个身份是没有数据库访问权限的。
但是windows server 2012中使用账号密码访问数据库也不行,最终我只能猜测是还是哪里的权限有问题,我就将application pool的身份改为了administrator,终于发布成功。