.Net Core 實踐 - 如何在控制台應用(.Net Core)使用appsettings.json配置


新建控制台應用(.Net Core)程序

添加json文件,命名為appsettings.json,設置文件屬性 如果較新則復制。添加內容如下

{
  "MyWords" : "Hello World!"   
}

nuget添加相關引用

依次添加以下引用

Microsoft.Extensions.Configuration
Microsoft.Extensions.Configuration.FileExtensions
Microsoft.Extensions.Configuration.Json
Microsoft.Extensions.Hosting

實現思路

在看到《.NET 通用主機》的文章之后,認為可以嘗試借助GenericHost更優雅的在Console項目中使用appsetings.json進行項目配置。
Main入口代碼如下:

using System;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;

namespace ConsoleApp1
{
    class Program
    {
        private static IConfiguration _appConfiguration;
        static void Main(string[] args)
        {
            var hostBuilder = new HostBuilder().ConfigureAppConfiguration((hostContext, configApp) =>
            {
                var hostingEnvironment = hostContext.HostingEnvironment;
                _appConfiguration = AppConfigurations.Get(hostingEnvironment.ContentRootPath, hostingEnvironment.EnvironmentName);
            }).ConfigureServices((hostContext, services) =>
            {
                //注入IConfiguration到DI容器
                services.AddSingleton(_appConfiguration);

                //注入MyService到DI容器
                services.AddSingleton<IMyService, MyService>();
            });

            //初始化通用主機
            var host = hostBuilder.Build();

            //獲取MyService
            var myService = host.Services.GetService<IMyService>();

            //調用SayMyWords方法
            myService.SayMyWords();

            Console.ReadKey();
        }
    }
}

demo地址

https://github.com/PuzzledAlien/DotNetCore_Practice/tree/master/如何在控制台應用(.Net Core)使用appsetting.json配置

參考文章與說明

說明:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM