返回

将 .NET Core 应用程序发布为 Windows 服务

2024-05-15 .NET .NET Core Windows 服务 402 0

将 .NET Core 应用程序发布为 Windows 服务,可以遵循以下步骤:

1. 创建 Worker Service 项目

首先,确保项目是一个 Worker Service 项目,这是.NET Core 及以后版本推荐用于后台服务的方式。如果还没有创建项目,可以在命令行中使用以下命令创建一个新的 Worker Service 项目:

dotnet new worker -o MyWorkerService

2. 实现 Windows 服务支持

在 Worker Service 项目中,需要使用Microsoft.Extensions.Hosting.WindowsServices包来支持作为 Windows 服务运行。如果尚未添加,可以通过 NuGet 包管理器添加:

dotnet add package Microsoft.Extensions.Hosting.WindowsServices

接着,在Program.cs文件中,确保主机配置包含了对 Windows 服务的支持。示例代码如下:

using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Hosting.WindowsServices;

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

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .UseWindowsService() // 添加对Windows服务的支持
            .ConfigureServices((hostContext, services) =>
            {
                services.AddHostedService<Worker>(); // 注册你的Worker服务
            });
}

3. 发布应用

接下来,发布应用为适合 Windows 环境的可执行文件。在项目根目录下,使用以下命令:

dotnet publish -c Release -r win-x64

这将会编译并打包应用,包括所有依赖项,针对 Windows x64 平台。

4. 安装为 Windows 服务

发布完成后,导航到发布的输出目录(默认是bin\Release\netcoreappX.X\win-x64\publish,其中X.X是.NET Core 或.NET 版本),然后使用命令提示符以管理员身份运行以下命令安装服务:

sc create MyServiceName binPath= "C:\path\to\your\published\application.exe"

确保替换MyServiceName为服务名称,并将路径替换为实际的可执行文件路径。安装完成后,在服务管理器里就能看到自己添加的服务了。可以右键启动和停止服务。也可以使用命令的方式启动和停止服务。

将 .NET Core 应用程序发布为 Windows 服务

5. 启动服务

安装服务后,可以通过以下命令启动服务:

sc start MyServiceName

6. 卸载服务

如果需要卸载服务,可以使用以下命令:

sc stop MyServiceName
sc delete MyServiceName

在进行这些操作时,命令提示符需要以管理员身份运行。这样,就成功地将.NET Core 或.NET 应用发布并安装为了 Windows 服务。

您可能感兴趣:

阿里云 云服务器 99元1年 2核2G 3M固定带宽 续费与新购同价

DOVE 网络加速器免费试用

顶部