运行已发布的应用程序将导致找不到路由值指定的回退终结点:{page:/_Host,area:}



我创建了一个Blazor Server网络应用程序,并使用右键单击项目publish从Visual Studio发布了它。我正在发布到本地文件夹,其中输出包括MyProject.exe运行良好:

info: Microsoft.Hosting.Lifetime[0]
Now listening on: http://localhost:5000
info: Microsoft.Hosting.Lifetime[0]
Now listening on: https://localhost:5001
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
Hosting environment: Production

然而,我无法在http://localhost:5000https://localhost:5001上访问我的网络应用程序。Chrome只给了我HTTP ERROR 500。在我启动MyProject.exe的控制台中,我可以发现以下错误:

fail: Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[1]
An unhandled exception has occurred while executing the request.
System.InvalidOperationException: Cannot find the fallback endpoint specified by route values: { page: /_Host, area:  }.
at Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.DynamicPageEndpointMatcherPolicy.ApplyAsync(HttpContext httpContext, CandidateSet candidates)
at Microsoft.AspNetCore.Routing.Matching.DfaMatcher.SelectEndpointWithPoliciesAsync(HttpContext httpContext, IEndpointSelectorPolicy[] policies, CandidateSet candidateSet)
at Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware.<Invoke>g__AwaitMatch|8_1(EndpointRoutingMiddleware middleware, HttpContext httpContext, Task matchTask)
at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.<Invoke>g__Awaited|6_0(ExceptionHandlerMiddleware middleware, HttpContext context, Task task)
fail: Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[3]

有人能帮我吗?当我从Visual Studio运行我的网络应用程序时,一切都很好!我的Index.razor页面位于默认的/Pages文件夹中。

请注意,我已经检查了其他有此错误的帖子:找不到路由值指定的回退终结点:{page:/_Host,area:}但这并没有改变任何事情。

我发现在发布项目时没有包含名为{project namespace}.Views.dll的文件。我可以从bin\Release \netcoreapp3.1\文件夹中获取它。一旦我将该文件复制到网站文件夹中,我就不再出现错误,网站也正常工作。

此外,我不知道这是否是一个相关的问题,但发布也不包括wwwroot文件夹中的文件夹。我不得不自己抄。

相关内容

  • 没有找到相关文章

最新更新