我看过这篇文章,但错误与我的不同。
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语句。它在那里,但我在复制时错过了。