繁体   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