.NET 2.0 控制台应用程序 - 读取应用程序设置
.NET 2.0 Console App - Reading app settings
我正在尝试让 .NET 控制台应用程序 (Core 2.0) 从 appsetting.json 文件中读取。我有一个 webapi 项目,可以很好地处理以下内容:
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 class:
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();
}
}
}
谢谢!
需要添加NuGet包Microsoft.Extensions.Options.ConfigurationExtensions才能获取Configure扩展方法
我正在尝试让 .NET 控制台应用程序 (Core 2.0) 从 appsetting.json 文件中读取。我有一个 webapi 项目,可以很好地处理以下内容:
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 class:
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();
}
}
}
谢谢!
需要添加NuGet包Microsoft.Extensions.Options.ConfigurationExtensions才能获取Configure扩展方法