2017-09-01 72 views
0

我想從一個appsetting.json文件中讀取.NET控制檯應用程序(Core 2.0)。我有一個的WebAPI項目與工程以下罰款:.NET 2.0控制檯應用程序 - 閱讀應用程序設置

services.Configure<WebAppSettings>(Configuration.GetSection("WebAppSettings")); 

但在控制檯應用程序,它說:

'ServiceCollection' does not contain a definition for 'Configure' and no extension method 'Configure' accepting a first argument of type 'ServiceCollection' could be found (are you missing a using directive or an assembly reference?) 

我已經安裝在控制檯應用程序項目下面的軟件包:

<PackageReference Include="Microsoft.Extensions.Configuration" Version="2.0.0" /> 
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="2.0.0" /> 
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.0.0" /> 
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="2.0.0" /> 

以下是完整的Program.cs類:

using System; 
using System.IO; 
using Cam.Checker.Services; 
using Cam.Common; 
using Microsoft.Extensions.Configuration; 
using Microsoft.Extensions.DependencyInjection; 

namespace Cam.Checker 
{ 
    class Program 
    { 
     public static IConfigurationRoot Configuration { get; set; } 
     static void Main(string[] args) 
     { 
      var builder = new ConfigurationBuilder() 
       .SetBasePath(Directory.GetCurrentDirectory()) 
       .AddJsonFile("appsettings.json"); 
       //.AddJsonFile($"appsettings.{env.EnvironmentName}.json", true, true); 

      Configuration = builder.Build(); 

      var services = new ServiceCollection(); 
      services.AddTransient<ICheckerService, CheckerService>(); 
      // app settings 
      services.Configure<WebAppSettings>(Configuration.GetSection("WebAppSettings")); 
      var provider = services.BuildServiceProvider(); 

     } 

} 
} 

謝謝!

回答

2

您需要添加NuGet包Microsoft.Extensions.Options.ConfigurationExtensions以獲取Configure擴展方法。

+0

謝謝!這是問題。 – TheWebGuy

相關問題