gpt4 book ai didi

c# - IHostBuilder 不包含 ConfigureWebHostDefaults 的定义

转载 作者:太空宇宙 更新时间:2023-11-03 18:20:27 27 4
gpt4 key购买 nike

我正在尝试在 .NET Core 3.0 中使用新的 GenericHost 记录 here但是我遇到了一个非常基本的错误,即 stats IHostBuilder 不包含 ConfigureWebHostDefaults 函数的定义。

在此处查看 ASP.NET 3.0 文档以了解 IHostBuilder 接口(interface) here我看不到对 ConfigureWebHostDefaults 的任何引用,所以我有点困惑。

我正在为 Microsoft.Extensions.HostingMicrosoft.Extensions.Hosting.Abstractions 使用 3.0.0 包,但我情不自禁地觉得我要么失踪了一些非常明显的东西,或者 ConfigureWebHostDefaults 由于某种原因被删除了?

更新 -- Program.cs 的屏幕截图

enter image description here

更新——.csproj 文件

<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Hosting" Version="2.2.7" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="3.0.0" />
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="3.0.0" />
</ItemGroup>

</Project>

最佳答案

除了using Microsoft.Extensions.HostingConfigureWebHostDefaults 还需要using Microsoft.AspNetCore.Hosting;,如下所示:

using Microsoft.AspNetCore.Hosting; //<-- Here it is
using Microsoft.Extensions.Hosting;

namespace MyApp
{
public class Program
{
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
}

public static IHostBuilder CreateWebHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
}
}

此外,您的项目看起来像是一个控制台应用程序。那就是问题所在。 ConfigureWebHostDefaults 仅适用于 Web 应用程序。因此,您可以通过将 Sdk="Microsoft.NET.Sdk" 替换为 Sdk="Microsoft.NET.Sdk.Web" 将控制台应用程序转换为 Web 应用程序 .csproj文件如下:

<Project Sdk="Microsoft.NET.Sdk.Web">

<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
</PropertyGroup>

</Project>

关于c# - IHostBuilder 不包含 ConfigureWebHostDefaults 的定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58097568/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com