gpt4 book ai didi

asp.net - 使用 Visual Studio 2017 在 Azure 应用服务中发布 ASP.NET 应用程序后出现 HTTP ERROR 404

转载 作者:行者123 更新时间:2023-12-01 05:53:59 24 4
gpt4 key购买 nike

我有一个 ASP.NET Framework 4.6.1 中的应用程序,在使用 Visual Studio 2017(版本 15.7.27703.2035)在本地环境中运行时工作正常。

在服务器端,同一应用程序显示 HTTP 错误 404。

Screenshot on local environment

Screenshot on server environment

为了发布 ASP.NET 应用程序,我使用 Visual Studio 的发布工具并将所有内容部署在 Azure 的应用服务上。

Visual studio publish tool and project architecture

我尝试使用 FTP 部署而不是 Web 部署,但没有成功。我也尝试过手动使用 FileZilla,但没有成功。

发布带有自定义库的项目时是否可能需要某种操作?

<小时/>

编辑

我所知道的:

  1. dlls on server side I actualy have access to the wwwroot folder on server side: this mean I can access js, css, images, etc. But it seems that controllers, views and others folders don't exist on the server..

  2. Libraries issus? The problem appeared when I subdivided my project with the customs libraries CrmDatabaseManager, SysaidDatabaseManager and UserInterfaceLibrary.

  3. wwwroot inside wwwroot on server side A wwwroot folder include anoter wwwroot folder on the server; the first wwwroot folder contains all dlls, and inside it, there is another wwwroot folder containing css, js, images and etc, but no sign of controllers or views.

  4. How I created the project I created the project GPRH this way using ASP.NET Core 2.0 based on .NET Framework

  5. Publish configuration
  6. Project properties

最佳答案

事实证明,将项目与库分开确实破坏了路径引用。

我对路径进行了硬编码,并且在主项目中没有出现任何问题。当我用库拆分项目时,导致错误 404。

要访问库中的文件,您需要首先执行此操作:

  1. 右键单击文件 > 属性
  2. 构建操作上,选择始终复制文件

然后在库上以这种方式指定路径:

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

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

关于asp.net - 使用 Visual Studio 2017 在 Azure 应用服务中发布 ASP.NET 应用程序后出现 HTTP ERROR 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50976465/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com