【问题标题】:AspNet Core application “The localhost page isn’t working” errorAspNet Core 应用程序“本地主机页面不工作”错误
【发布时间】:2017-06-10 04:43:02
【问题描述】:

我有一个在 asp.net 核心中开发的应用程序,带有完整的 .net 框架 (.Net 4.6.1)。该应用程序是使用 Visual Studio 2017 RC 创建的。编译成功后,生成了TestApplication.exe。

当我进入项目根目录并执行命令 dotnet run 时,应用程序启动并开始侦听端口 5000。使用此方法应用程序运行良好。但是,当我转到 projectRoot\ bin\Debug\net461\ 并启动 TestApplicatin.exe 时,它​​也开始在端口 5000 上侦听,但是当我转到浏览器并输入 http://localhost:5000 时,出现以下错误

本地主机页面不工作

localhost 当前无法处理此请求。

HTTP 错误 500

注意 -

  1. 到目前为止,我还没有编写任何代码。整个代码是 选择 asp.net core 项目模板后由 Visual Studio 生成。
  2. 我不想使用 IIS

请看Program.cs文件内容

public static void Main(string[] args)
    {
        var host = new WebHostBuilder()
            .UseKestrel()
            .UseContentRoot(Directory.GetCurrentDirectory())
            .UseIISIntegration()
            .UseStartup<Startup>()
            .Build();

        host.Run();
    }

【问题讨论】:

  • 您在创建 ASP.NET Core 项目时使用了什么模板?网络 API?
  • @prtdomingo 我使用了 asp.net 核心 Web 应用程序 (.Net Framework) 模板,其中我选择了 Web 应用程序

标签: asp.net asp.net-web-api asp.net-core asp.net-core-mvc


【解决方案1】:

发现问题。我正在运行exe而不发布它。所以 bin 目录只包含没有 wwwroot 文件夹的 exe(即 TestApplication.exe)。它无法找到所需的文件,因此发生了致命错误。如果您想在没有 IIS 的情况下运行 asp.net 核心应用程序(即使用 Kestrel 的自托管应用程序),以下是正确的步骤

  1. dotnet 恢复
  2. dotnet 发布
  3. 从命令提示符启动 exe 或双击它。在我的情况下,发布后的 exe 位于以下路径

    bin\Debug\net461\win7-x86\publish\TestApplication.exe

【讨论】:

  • 基于 .Net Core 自包含应用程序的 Asp.Net Core 应用程序将生成 exe,否则将生成 dll,您可以使用 dotnet run 命令运行它
猜你喜欢
  • 2017-06-06
  • 2016-09-13
  • 2022-01-27
  • 2018-05-25
  • 2016-10-13
  • 2020-08-05
  • 2021-09-19
  • 2016-04-28
  • 2019-06-29
相关资源
最近更新 更多