如何使用 CLI 在 IIS 上托管 DotNet Core 6.0 WebAPI 项目?

How to host a DotNet Core 6.0 WebAPI project on IIS using CLI?

我正在尝试使用 IIS 服务器在本地托管我的 webapi 项目。我正在使用 VS Code 通过 .NET 6.0 创建我的 webapi。

以下是我采取的步骤:

  1. 我运行dotnet publish --configuration Release。这在 'bin\Release\net6.0'.
  2. 下创建了文件
  3. 我下载了 ASP.NET Core 6.0 Runtime (v6.0.2) - Windows Hosting Bundle。
  4. 接下来,我在 IIS 中创建了一个网站,物理路径为 'bin\Release\net6.0',并将端口设置为 8084。

现在,当我尝试浏览路径时,localhost/8084/api/users 它 returns 500 内部服务器错误。我错过了什么?

Settings for IIS

感谢@gunr2171,我找到了解决方案。

问题出在使用 user-secrets 上。使用 user-secrets 时,IIS 无法找到 secrets.json 文件。这导致 IIS 上的应用程序因空引用而失败(通过事件查看器找到)。

我找到的解决方案是 - 出于开发目的,我们可以将 secrets.json 文件复制粘贴到 IIS 用于托管的物理路径。这让我们可以毫无问题地继续通过 IIS 进行托管。

您需要安装此 bundle,然后重试 :)。检查您的 .net 核心版本