![](/img/trans.png)
[英]ASP.NET Core authorization permission access folder with Identity Server
[英]Access shared view folder in a .net core application running on an azure server
在本地運行我的站點時,我正在訪問共享視圖文件夾中的文件,如下所示:
string[] files = Directory.GetFiles("Views/Shared");
因為我通過 API 調用動態獲取頁面內容,並且某些字段具有寫入的部分視圖以覆蓋默認呈現。 我只是在 api 調用中獲取與某些內容匹配的共享視圖名稱,將其設置在一個變量中,然后使用該變量在 .cshtml 頁面中呈現部分視圖。
這在本地工作正常,但在部署到 Azure 后失敗,但一些谷歌搜索告訴我,我應該訪問項目文件的方法是使用 IWebHostEnvironment.ContentRootPath。 同樣,這在本地工作得很好; 但是在部署到 Azure 之后,文件夾結構發生了變化,因此 /views/shared 文件夾(或除 wwwroot 之外的任何項目文件夾)不存在。 我認為azure 只是在構建項目,因為有一個 views.dll 文件; 但現在我不知道如何將這些文件名設置為我的 model 中的變量。
部署后有沒有辦法遍歷我的 /views/shared 文件夾?
部署到 Azure 后,文件夾結構發生變化,因此 /views/shared 文件夾(或除 wwwroot 之外的任何項目文件夾)不存在。 我認為 azure 只是在構建項目,因為有一個 views.dll 文件; 但現在我不知道如何將這些文件名設置為我的 model 中的變量。
您可以嘗試將CopyRazorGenerateFilesToPublishDirectory
屬性設置為true
,這將有助於將 RazorGenerate 項目 (.cshtml) 文件復制到發布目錄。
<PropertyGroup>
<!--other properties here-->
<CopyRazorGenerateFilesToPublishDirectory>true</CopyRazorGenerateFilesToPublishDirectory>
<!--other properties here-->
</PropertyGroup>
有關更多信息,請查看以下文檔:
https://docs.microsoft.com/en-us/aspnet/core/razor-pages/sdk?view=aspnetcore-5.0#properties
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.