簡體   English   中英

使用Visual Studio 2017在Azure應用服務中發布ASP.NET應用程序后獲取HTTP錯誤404

[英]Getting HTTP ERROR 404 after publishing ASP.NET application in Azure App Service with Visual Studio 2017

我在ASP.NET Framework 4.6.1中有一個應用程序,使用Visual Studio 2017(版本15.7.27703.2035)在我的本地環境中運行時可以正常工作。

在服務器端,同一應用程序正在顯示HTTP ERROR 404。

本地環境截圖

服務器環境截圖

要發布ASP.NET應用程序,我使用Visual Studio的發布工具並在Azure的App Service上部署所有內容。

Visual Studio發布工具和項目架構

我嘗試使用FTP部署而不是Web部署,但沒有成功。 我也嘗試過使用FileZilla但沒有成功。

使用自定義庫發布項目時是否可能需要某種操作?


編輯

我知道的:

  1. 在服務器端dll我實際上可以訪問服務器端的wwwroot文件夾:這意味着我可以訪問js,css,圖像等。但似乎服務器上不存在控制器,視圖和其他文件夾..

  2. 圖書館的問題? 當我使用海關庫CrmDatabaseManager,SysaidDatabaseManager和UserInterfaceLibrary細分我的項目時出現問題。

  3. wwwroot在服務器端的wwwroot wwwroot文件夾包括服務器上的anoter wwwroot文件夾; 第一個wwwroot文件夾包含所有dll,在其中,還有另一個包含css,js,images等的wwwroot文件夾,但沒有控制器或視圖的標志。

  4. 我如何創建項目我使用基於.NET Framework的ASP.NET Core 2.0以這種方式創建了項目GPRH

  5. 發布配置
  6. 項目屬性

事實證明,用庫拆分項目確實破壞了路徑引用。

我很難對這條路進行編碼,並且在主項目中沒有任何問題。 當我用庫分割項目時,它導致錯誤404。

要訪問庫中的文件,首先需要執行此操作:

  1. 右側clic文件> 屬性
  2. 在“ 構建”操作上 ,選擇“ 始終復制文件”

然后在庫中以這種方式指定路徑:

var buildDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
var filePath = buildDir + @"\fileName.json";

using (StreamReader r = new StreamReader(filePath))
{
   // code here
} 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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