为什么我在尝试在 Asp.NetCore 应用程序中包含对 UserServiceBaseLifetime() 的调用时遇到编译器错误?

Joh*_*hnB 2 c# .net-core asp.net-core

我正在尝试完成“.NET Core Workers as Windows Services”的示例。链接在这里:https ://devblogs.microsoft.com/aspnet/net-core-workers-as-windows-services/

我已包含Microsoft.Extensions.Hosting NuGet 包。我在尝试添加.UseServiceBaseLifetime( ) 时遇到编译问题。

这是代码片段:

using Microsoft.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;

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

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .UseServiceBaseLifetime()
                .ConfigureServices((hostContext, services) =>
                {
                    services.AddHostedService<Worker>();
                });
    }
}
Run Code Online (Sandbox Code Playgroud)

这是编译器错误:

错误 CS1061“IHostBuilder”不包含“UseServiceBaseLifetime”的定义,并且找不到接受“IHostBuilder”类型的第一个参数的可访问扩展方法“UseServiceBaseLifetime”(您是否缺少 using 指令或程序集引用?)

我相信该示例基于 .Net Core 3.0 预览版。

我是否缺少 NuGet 包(包括参考)?

命名的方法是否已更改?

Kir*_*kin 5

UseServiceBaseLifetime被重命名为UseWindowsService3.0 GA 之前。扩展方法位于Microsoft.Extensions.Hosting.WindowsServices中。

请参阅此 GitHub 问题以供参考。