ASP.Net Core 發布后,靜態資源訪問不了


程序在發布后 用dotnet xxx.dll的方式運行,所有的靜態資源都訪問不了,比如網頁中引用的圖片,css,js都訪問不了。這些資源在發布后文件夾下的wwwroot下面是存在的,可是訪問不了。

 

你的運行方式會導致進程的工作目錄指向 cmd 提示的目錄,如果不是在與 wwwroot 相同的目錄下調用 cmd 會導致無法找到文件,因為 asp.net core 的默認內容根目錄是進程工作目錄。如果希望 cmd 不會影響網站工作狀態,可以在 Main 方法開始處調用 System.IO 中的相關 API 設置進程工作目錄為主 dll 目錄再創建主機(wwwroot 文件夾默認和主 dll 在相同文件夾,主 dll 目錄可以反射獲取)。注意在調試模式下不要修改,不然會導致調試模式下靜態資源404。可以使用條件編譯確保只在發行模式執行工作目錄調整的相關代碼。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM