5

我正忙着将我们的 ASP.NET Core API 从 RC1 迁移到 RC2。

RC2 要求我们在使用时配置如下IOptions<T>

services.AddOptions();

但我收到以下编译错误:

错误 CS0121 调用在以下方法或属性之间不明确:“Microsoft.Extensions.DependencyInjection.OptionsServiceCollectionExtensions.AddOptions(Microsoft.Extensions.DependencyInjection.IServiceCollection)”和“Microsoft.Extensions.DependencyInjection.OptionsServiceCollectionExtensions.AddOptions(Microsoft.Extensions.DependencyInjection) .IServiceCollection)' TransitApi.Api..NET Framework 4.5.2

这些是完全相同的扩展方法!我曾尝试删除所有软件包并删除锁定文件,但无济于事。

项目.json:

{
  "title": "MyProject.Api",
  "webroot": "wwwroot",
  "version": "1.0.0-*",
  "dependencies": {

    "Microsoft.ApplicationInsights.AspNetCore": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Mvc": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Diagnostics": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Authorization": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Mvc.Core": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Mvc.Abstractions": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Authentication.JwtBearer": "1.0.0-rc2-final",
    "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.StaticFiles": "1.0.0-rc2-final",
    "Microsoft.Extensions.Logging": "1.0.0-rc2-final",
    "Microsoft.Extensions.Logging.Abstractions": "1.0.0-rc2-final",
    "Microsoft.Extensions.Logging.Console": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Http": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Http.Abstractions": "1.0.0-rc2-final",
    "Microsoft.Extensions.Configuration": "1.0.0-rc2-final",
    "Microsoft.Extensions.Configuration.Json": "1.0.0-rc2-final",
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0-rc2-final",
    "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0-rc2-final",
    "Newtonsoft.Json": "8.0.3",
    "WindowsAzure.Storage": "7.0.0",
    "Microsoft.AspNetCore.Mvc.Formatters.Json": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Cors": "1.0.0-rc2-final"
  },
  "frameworks": {
    "net452": { }
  },
  "tools": {
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": {
      "version": "1.0.0-preview1-final",
      "imports": "portable-net45+win8+dnxcore50"
    }
  },
  "buildOptions": {
    "emitEntryPoint": true,
    "preserveCompilationContext": true
  },
  "runtimeOptions": {
    "configProperties": {
      "System.GC.Server": true
    }
  },
  "publishOptions": {
    "include": [
      "wwwroot",
      "appsettings.json",
      "web.config"
    ]
  }
}
4

3 回答 3

2

在项目中的“参考”下查看您的依赖项。

您的依赖项之一是获取旧库,我怀疑"WindowsAzure.Storage": "7.0.0"它似乎是唯一的候选者。根据 GitHub 项目页面,我认为7.0.2预览版已经准备好,请试试这个。rc2-final

于 2016-06-18T11:07:28.510 回答
2

虽然这不是您的直接问题(我怀疑@Tseng 已正确识别出依赖问题),但您可以放心地省略对AddOptions().

该类在对 的调用中WebHostBuilder隐式调用,如GitHub中所示。假设您正在以通常的方式构建您的 Web 应用程序,将已经在服务集合中注册AddOptionsBuild()AddOptions

于 2016-06-19T18:25:05.097 回答
0

请参阅此链接以获取有关对 RC1 旧版本的引用最有可能成为问题的更多信息。

于 2017-08-10T20:57:22.023 回答