在Program.cs

时间:2018-07-30 09:22:07

标签: c# .net

我看过这篇文章,但错误与我的不同。

Error while adding AddOptions in Startup.cs

我的错误是这样的:

  

'ServiceCollection'不包含'AddOptions'的定义,并且找不到扩展方法'AddOptions'接受类型为'ServiceCollection'的第一个参数(您是否缺少using指令或程序集引用?)

我的代码是这样的:

using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;

public static IServiceProvider svcProvider = null;

private static void LoadDIStartup()
{
    //Dependency Injection Setup Start
    var env = Environment.GetEnvironmentVariable("ASPNET_ENVIRONMENT");
    Console.WriteLine("ASPNET_ENVIRONMENT: {0}", env);
    var configuration = new ConfigurationBuilder()
        .AddJsonFile("appsettings.json", optional: false)
        .Build();


    svcProvider = new ServiceCollection()
        .AddOptions()
        .Configure<AppConfig>(configuration.GetSection("AppConfig"))
        .AddConfigFile()
        .BuildServiceProvider();

    IgniteDependencyResolver.SetProvider(svcProvider);
    IgniteDependencyResolver.SetConfiguration(configuration);
    IgniteDependencyResolver.Bind<AppConfig>();
    //Dependency Injection Setup End

}

我的程序包配置是这样的:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="BouncyCastle" version="1.8.2" targetFramework="net462" />
  <package id="EntityFramework" version="6.2.0" targetFramework="net462" />
  <package id="log4net" version="2.0.8" targetFramework="net462" />
  <package id="MailKit" version="2.0.5" targetFramework="net462" />
  <package id="Microsoft.Extensions.Configuration" version="2.1.1" targetFramework="net462" />
  <package id="Microsoft.Extensions.Configuration.Abstractions" version="2.1.1" targetFramework="net462" />
  <package id="Microsoft.Extensions.Configuration.Binder" version="2.1.1" targetFramework="net462" />
  <package id="Microsoft.Extensions.Configuration.FileExtensions" version="2.1.1" targetFramework="net462" />
  <package id="Microsoft.Extensions.Configuration.Json" version="2.1.1" targetFramework="net462" />
  <package id="Microsoft.Extensions.DependencyInjection" version="2.1.1" targetFramework="net462" />
  <package id="Microsoft.Extensions.DependencyInjection.Abstractions" version="2.1.1" targetFramework="net462" />
  <package id="Microsoft.Extensions.FileProviders.Abstractions" version="2.1.1" targetFramework="net462" />
  <package id="Microsoft.Extensions.FileProviders.Physical" version="2.1.1" targetFramework="net462" />
  <package id="Microsoft.Extensions.FileSystemGlobbing" version="2.1.1" targetFramework="net462" />
  <package id="Microsoft.Extensions.Primitives" version="2.1.1" targetFramework="net462" />
  <package id="MimeKit" version="2.0.5" targetFramework="net462" />
  <package id="Newtonsoft.Json" version="11.0.2" targetFramework="net462" />
  <package id="Serilog" version="2.7.1" targetFramework="net462" />
  <package id="System.Buffers" version="4.5.0" targetFramework="net462" />
  <package id="System.Memory" version="4.5.1" targetFramework="net462" />
  <package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net462" />
  <package id="System.Runtime.CompilerServices.Unsafe" version="4.5.1" targetFramework="net462" />
</packages>

编辑:

添加了上面的using语句。它在那里,但我在复制时错过了。

0 个答案:

没有答案