【问题标题】:I get a Not found error when I deploy ASP.NET CORE 2.0 WebApi to IIS under Default Website在默认网站下将 ASP.NET CORE 2.0 WebApi 部署到 IIS 时出现未找到错误
【发布时间】:2018-11-15 05:49:44
【问题描述】:

它适用于默认网站之外的标签“2”,但它确实在默认网站内运行

【问题讨论】:

  • 在“默认网站”下将 .net 核心应用程序作为子应用程序运行时,应用程序池设置是什么?
  • 应用池为 DefaultAppPool
  • 可以运行 .NET Core 应用程序,您需要一个 .NET CLR 版本设置为 No Managed Code 的应用程序池,因此要么创建一个新的应用程序池,要么为测试分配与标签 2 相同的应用程序池应用
  • 感谢您的回复。但我这样做了,它仍然是同样的错误
  • 您的默认网站映射到什么?它是另一个拥有自己 web.config 的应用程序吗?

标签: asp.net iis asp.net-core-2.0 iis-10


【解决方案1】:

试试下面...

再次安装托管包,然后再次从 Visual Studio 发布。

如果这不能解决问题,请转到发布输出文件夹并运行 dotnet run <YourWebDll>.DLL

【讨论】:

  • dotnet run 返回:Couldn't find a project to run. Ensure a project exists in <path to my app>\bin\Debug\netcoreapp3.1\publish, or pass the path to the project using --project.
【解决方案2】:

我假设您已经在网络服务器中安装了 SDK or Runtime

然后,您需要在 Web 服务器中安装 ASP.NET Core Module。 这是download link

疑难解答

如果仍然无法正常工作,请打开命令提示符。导航到 Web 应用程序文件夹并键入 dotnet YOUR_APP.dll。你应该看到这样的东西 -

C:\APIs> dotnet YOUR_APP.dll
Hosting environment: Production
Content root path: C:\APIs
Now listening on: http://localhost:5000
Application started: Press Ctrl+C to shut down.

这意味着您的应用程序可以在没有 IIS 的情况下在 Web 服务器中运行。然后你需要在 IIS 或其他一些东西中进行故障排除。

【讨论】:

  • 所以当我这样做时它运行良好。它在 IIS 上运行它只是没有在默认网站下运行,我希望它使用端口 80
【解决方案3】:

在我的例子中,将已发布的应用程序(从项目文件夹中发布:dotnet publish -c Debug)移动到 C:\inetpub\wwwroot\<site> 路径内解决了问题。

由于某种原因,它在我的项目文件夹中不起作用。 奇怪的是,在 IIS 上配置的用户在失败时可以访问该文件夹。所以,去想...

【讨论】:

    【解决方案4】:

    很久以前就有人问过这个问题,但我遇到了同样的问题,我发现只需添加“~”或“..”我的登录页面路径“~/Account/Login”而不是“/Account/Login” . 现在我可以使用默认网站/我的网站。 也许其他人遇到此错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-02-24
      • 2021-11-11
      • 1970-01-01
      • 1970-01-01
      • 2012-02-23
      • 1970-01-01
      • 2020-03-08
      相关资源
      最近更新 更多