如何使用 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。
以下是我采取的步骤:
- 我运行
dotnet publish --configuration Release
。这在 'bin\Release\net6.0'. 下创建了文件
- 我下载了 ASP.NET Core 6.0 Runtime (v6.0.2) - Windows Hosting Bundle。
- 接下来,我在 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 核心版本
我正在尝试使用 IIS 服务器在本地托管我的 webapi 项目。我正在使用 VS Code 通过 .NET 6.0 创建我的 webapi。
以下是我采取的步骤:
- 我运行
dotnet publish --configuration Release
。这在 'bin\Release\net6.0'. 下创建了文件
- 我下载了 ASP.NET Core 6.0 Runtime (v6.0.2) - Windows Hosting Bundle。
- 接下来,我在 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 核心版本