問題概述
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,終於發布成功。