Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

705
Visualizações
No se puede agregar appsettings.json dentro del proyecto WPF .net core 3.0

Estoy creando un proyecto WPF usando .net Core 3.0, y tengo problemas para agregar el archivo appsettings.json del elemento a mi proyecto, que se usará para almacenar mi cadena de conexión de base de datos.

Normalmente lo habría hecho dentro de app.config , pero ahora se eliminó de .net Core.

En todas partes se menciona el uso de appsettings.json como reemplazo, y que debe agregarse e inicializarse manualmente en la función OnStartUp() usando una instancia de IConfiguration , y luego usar Inyección de dependencia para pasar la clase de configuración al proyecto.

Pero mi problema es que solo puedo agregar el elemento appsettings.json en los proyectos de asp.net Core. no es mi solución WPF.

Me disculpo si me estoy perdiendo algo muy obvio (que probablemente sea así), parece que no puedo encontrar ninguna solución.

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Pasos:

  • Para agregar los siguientes paquetes nuget

     Microsoft.Extensions.Configuration Microsoft.Extensions.Configuration.FileExtensions Microsoft.Extensions.Configuration.Json Microsoft.Extensions.DependencyInjection
  • Debería crear y agregar appsettings.json manualmente y configurar copy it to output directory como copy if newer


AppSetting.json

 { "ConnectionStrings": { "BloggingDatabase": "Server=(localdb)\\mssqllocaldb;Database=EFGetStarted.ConsoleApp.NewDb;Trusted_Connection=True;" }, }

Program.cs (para la aplicación de consola .NetCore)

 static void Main(string[] args) { var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true); IConfigurationRoot configuration = builder.Build(); Console.WriteLine(configuration.GetConnectionString("BloggingDatabase")); }

App.xaml.cs (para .NET CORE WPF)

 public partial class App : Application { public IServiceProvider ServiceProvider { get; private set; } public IConfiguration Configuration { get; private set; } protected override void OnStartup(StartupEventArgs e) { var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true); Configuration = builder.Build(); Console.WriteLine(Configuration.GetConnectionString("BloggingDatabase")); var serviceCollection = new ServiceCollection(); ConfigureServices(serviceCollection); ServiceProvider = serviceCollection.BuildServiceProvider(); var mainWindow = ServiceProvider.GetRequiredService<MainWindow>(); mainWindow.Show(); } private void ConfigureServices(IServiceCollection services) { // ... services.AddTransient(typeof(MainWindow)); } }

Referencias:

  • https://blog.bitscry.com/2017/05/30/appsettings-json-in-net-core-console-app/
  • https://marcominerva.wordpress.com/2019/03/06/using-net-core-3-0-dependency-injection-and-service-provider-with-wpf/
  • https://docs.microsoft.com/en-us/ef/core/miscellaneous/connection-strings
over 4 years ago · Santiago Trujillo Relatório

0

No es un requisito cambiar a un archivo appsettings.json en .NET Core. Todavía puede usar el mismo archivo App.config "antiguo" basado en XML en una aplicación WPF que apunta a .NET Core si lo desea.

Simplemente agregue un nuevo archivo de configuración (Proyecto-> Agregar nuevo elemento-> Archivo de configuración de la aplicación) a su proyecto y asígnele el nombre "App.config". Si luego le agregas los siguientes contenidos:

 <?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings> <add name="connectionString" connectionString="..."/> </connectionStrings> </configuration>

... debería poder obtener la cadena de conexión en tiempo de ejecución utilizando la API de ConfigurationManager :

 ConfigurationManager.ConnectionStrings["connectionString"].ConnectionString;

La plantilla de WPF predeterminada debe incluir el paquete System.Configuration.ConfigurationManager de forma predeterminada.

over 4 years ago · Santiago Trujillo Relatório

0

agregue un archivo App.config a la raíz de su proyecto y agregue este código:

 <?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings> <add name="AppConnectionString" connectionString="YourCS"/> </connectionStrings> <appSettings> <add key="DefaultLanguage" value="1"/> </appSettings> </configuration>

appSettings es con S no s

Ahora puede leerlos en cualquier lugar de su aplicación dotnet core wpf:

 string DefaultLanguage = ConfigurationManager.AppSettings.Get("DefaultLanguage"); string ConnectionString = ConfigurationManager.ConnectionStrings["AppConnectionString"].ConnectionString;
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda