簡體   English   中英

訪問在 azure 服務器上運行的 .net 核心應用程序中的共享視圖文件夾

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM