【问题标题】:Ambiguous call services.AddOptions() in ConfigureServices(IServiceCollection services)ConfigureServices(IServiceCollection services) 中的模糊调用 services.AddOptions()
【发布时间】:2016-05-23 22:41:13
【问题描述】:

ConfigureServices(IServiceCollection services)中添加services.AddOptions()后出现如下错误:

CS0121  
The call is ambiguous between the following methods or properties: Microsoft.Extensions.DependencyInjection.OptionsServiceCollectionExtensions.AddOptions(Microsoft.Extensions.DependencyInjection.IServiceCollection) and Microsoft.Extensions.DependencyInjection.OptionsServiceCollectionExtensions.AddOptions(Microsoft.Extensions.DependencyInjection.IServiceCollection)'

代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;

...

public void ConfigureServices(IServiceCollection services)
{
    ...
    services.AddOptions();
    ...
}

这特别奇怪,因为在相同的“方法或属性”之间存在歧义

【问题讨论】:

  • 它是同一种类型,可能只是意味着这种类型是在你们都引用的两个程序集中定义的。 this的重复?
  • 是的,谢谢@Christian.K。将在前一个上跟踪它。谢谢!

标签: c# asp.net-mvc asp.net-core


【解决方案1】:

根据this question 的反馈,我发现我在project.lock.json 中有一个对"EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final" 的引用,而"EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final" 本身就有对"Microsoft.Extensions.OptionsModel": "1.0.0-rc1-final" 的引用

重点是只引用"Microsoft.Extensions.Options": "1.0.0-rc2-final",并删除所有OptionsModel

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-20
    • 1970-01-01
    • 2015-07-17
    • 1970-01-01
    • 2015-10-16
    相关资源
    最近更新 更多