Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

548
Vistas
El servicio de Windows no se inicia: se registra una excepción

He visto algunas variantes de este problema, pero ninguna es exactamente igual a mi problema.

Estoy construyendo un Servicio de Windows, usando .NET 6.0. Este servicio aloja ASP.NET Core además de otras funciones en segundo plano. Cuando se ejecuta como una aplicación ordinaria, todo está bien, pero cuando se registra como un servicio, al iniciar falla con:

 Application: MyService.exe CoreCLR Version: 6.0.222.6406 .NET Version: 6.0.2 Description: The process was terminated due to an unhandled exception. Exception Info: System.NotSupportedException: The content root changed from "C:\WINDOWS\system32\" to "c:\long-path-executable\". Changing the host configuration using WebApplicationBuilder.Host is not supported. Use WebApplication.CreateBuilder(WebApplicationOptions) instead. at Microsoft.AspNetCore.Builder.ConfigureHostBuilder.ConfigureHostConfiguration(Action`1 configureDelegate) at Microsoft.Extensions.Hosting.HostingHostBuilderExtensions.UseContentRoot(IHostBuilder hostBuilder, String contentRoot) at Microsoft.Extensions.Hosting.WindowsServiceLifetimeHostBuilderExtensions.UseWindowsService(IHostBuilder hostBuilder, Action`1 configure) at Program.Main(String[] args) in C:\...\Program.cs:line 41

El mensaje de error es bastante específico: use WebApplication.Createbuilder. El problema es que eso es exactamente lo que ya estoy haciendo. Aquí está el código de inicio de mi programa:

 var builder = WebApplication.CreateBuilder(args); builder.Host.UseWindowsService(options => { options.ServiceName = "FileFlow"; }); builder.Services.AddControllers(); builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); builder.Services.AddHostedService<WindowsService>(); var app = builder.Build(); if (app.Environment.IsDevelopment()) { app.UseSwagger(); app.UseSwaggerUI(); } app.UseAuthorization(); app.MapControllers(); app.Run();

Como puede ver en el seguimiento de la pila, está fallando muy temprano en el proceso de compilación.

Sugerencias apreciadas. Mientras tanto, seguiré investigando.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Esta otra publicación https://stackoverflow.com/a/70036550/4139809 tiene la respuesta:

 var builder = WebApplication.CreateBuilder(new WebApplicationOptions { Args = args, ContentRootPath = WindowsServiceHelpers.IsWindowsService() ? AppContext.BaseDirectory : default });

Gracias a Jeremy Lakeman por señalar esa publicación en los comentarios.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda