Asp.net AspNet核心应用程序&x201C;本地主机页面不是’;t工作”;错误

Asp.net AspNet核心应用程序&x201C;本地主机页面不是’;t工作”;错误,asp.net,asp.net-web-api,asp.net-core,asp.net-core-mvc,Asp.net,Asp.net Web Api,Asp.net Core,Asp.net Core Mvc,我有一个在asp.net内核中开发的应用程序,它具有完整的.net框架(.net 4.6.1)。该应用程序是使用Visual Studio 2017 RC创建的。编译成功后,它生成了TestApplication.exe 当我转到项目根目录并执行命令dotnetrun时,应用程序启动并开始侦听端口5000。使用此方法,应用程序运行良好。但是,当我转到projectRoot\bin\Debug\net461\并启动TestApplicatin.exe时,它也开始侦听端口5000,但当我转到浏览器并

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

当我转到项目根目录并执行命令dotnetrun时,应用程序启动并开始侦听端口5000。使用此方法,应用程序运行良好。但是,当我转到
projectRoot\bin\Debug\net461\
并启动TestApplicatin.exe时,它也开始侦听端口5000,但当我转到浏览器并键入时,我得到以下错误

本地主机页不工作

localhost当前无法处理此请求

HTTP错误500

注意-

  • 到目前为止,我还没有编写任何代码。整个代码是 选择asp.net核心项目模板后由Visual Studio生成
  • 我不想使用IIS
  • 请参阅Program.cs文件的内容

    public static void Main(string[] args)
        {
            var host = new WebHostBuilder()
                .UseKestrel()
                .UseContentRoot(Directory.GetCurrentDirectory())
                .UseIISIntegration()
                .UseStartup<Startup>()
                .Build();
    
            host.Run();
        }
    
    publicstaticvoidmain(字符串[]args)
    {
    var host=new WebHostBuilder()
    .UseKestrel()
    .UseContentRoot(目录.GetCurrentDirectory())
    .Useii整合()
    .UseStartup()
    .Build();
    host.Run();
    }
    
    找到了问题。我在运行exe而没有发布它。因此,bin目录只包含exe(即TestApplication.exe),而不包含wwwroot文件夹。它无法找到所需的文件,因此发生了致命错误。如果要在没有IIS的情况下运行asp.net核心应用程序(即使用Kestrel的自托管应用程序),请执行以下正确步骤

  • 网络还原
  • 网络出版
  • 从命令提示符下启动exe或双击它。在我的案例中,发布后exe位于以下路径

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


  • 您在创建ASP.NET核心项目时使用了什么模板?Web API?@prtdomingo我使用了asp.net核心Web应用程序(.net Framework)模板,其中我选择了Web应用程序基于.net核心自包含应用程序的asp.net核心应用程序将生成exe,否则将生成dll,您可以使用dotnet run命令运行该dll