Зависимость OpenIddict в проекте не поддерживает фреймворк DNXCore, Version=v5.0

Я сделал все, что было сказано [в руководстве по началу работы с OpenIddict]:

  • Я запустил обновление dnvm
  • Я добавил все указанные источники в Nuget.Config
  • Добавлен «OpenIddict»: «1.0.0-*» в зависимости от project.json.

Вот что сообщает Visual Studio, когда я навожу указатель мыши на подчеркнутую красным зависимость «OpenIddict» в project.json:

Зависимость OpenIddict 1.0.0-alpha2-0161 в проекте [...] не поддерживает фреймворк DNXCore, Version=v5.0

Очистка проекта и восстановление пакетов nuget не помогают. Что нужно сделать, чтобы это заработало?

РЕДАКТИРОВАТЬ:

проект.json:

{
  "userSecretsId": "[...]",
  "version": "1.0.0-*",
  "compilationOptions": {
    "emitEntryPoint": true
  },

  "dependencies": {
    "EntityFramework.Commands": "7.0.0-rc1-final",
    "EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
    "Microsoft.AspNet.Authentication.Cookies": "1.0.0-rc1-final",
    "Microsoft.AspNet.Authentication.JwtBearer": "1.0.0-rc1-final",
    "Microsoft.AspNet.Diagnostics.Entity": "7.0.0-rc1-final",
    "Microsoft.AspNet.Http.Abstractions": "1.0.0-rc1-final",
    "Microsoft.AspNet.Identity": "3.0.0-rc1-final",
    "Microsoft.AspNet.Identity.EntityFramework": "3.0.0-rc1-final",
    "Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
    "Microsoft.AspNet.Mvc": "6.0.0-rc1-final",
    "Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-rc1-final",
    "Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final",
    "Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final",
    "Microsoft.AspNet.Tooling.Razor": "1.0.0-rc1-final",
    "Microsoft.Extensions.CodeGenerators.Mvc": "1.0.0-rc1-final",
    "Microsoft.Extensions.Configuration.FileProviderExtensions": "1.0.0-rc1-final",
    "Microsoft.Extensions.Configuration.Json": "1.0.0-rc1-final",
    "Microsoft.Extensions.Configuration.UserSecrets": "1.0.0-rc1-final",
    "Microsoft.Extensions.Logging": "1.0.0-rc1-final",
    "Microsoft.Extensions.Logging.Console": "1.0.0-rc1-final",
    "Microsoft.Extensions.Logging.Debug": "1.0.0-rc1-final",
    "Microsoft.Net.Http.Server": "1.0.0-rc1-final",
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-rc1-final",
    "System.IdentityModel.Tokens": "5.0.0-rc1-211161024",
    "OpenIddict": "1.0.0-*"
  },

  "commands": {
    "web": "Microsoft.AspNet.Server.Kestrel",
    "ef": "EntityFramework.Commands"
  },

  "frameworks": {
    "dnx451": { },
    "dnxcore50": { }
  },

  "exclude": [
    "wwwroot",
    "node_modules"
  ],
  "publishExclude": [
    "**.user",
    "**.vspscc"
  ],
  "scripts": {
    "prepublish": [ "npm install", "bower install", "gulp clean", "gulp min" ]
  }
}

person Piotrek    schedule 12.03.2016    source источник
comment
Не могли бы вы сказать мне, какую среду выполнения DNX вы используете?   -  person Kévin Chalet    schedule 12.03.2016
comment
@Pinpoint: после ввода dnx в CMD: Clr-x86-1.0.0-rc2-16595   -  person Piotrek    schedule 12.03.2016
comment
Странный. Не могли бы вы также поделиться своим проектом.json?   -  person Kévin Chalet    schedule 12.03.2016
comment
Конечно. Вопрос обновлен.   -  person Piotrek    schedule 12.03.2016


Ответы (1)


К сожалению, вы не можете использовать OpenIddict в приложении ASP.NET 5/Core RC1: вы должны использовать ASP.NET Core RC2, как указано в начальная страница.

Если вы хотите перейти на RC2, вы можете взглянуть на пример Mvc.Server: https://github.com/openiddict/openiddict-core/tree/dev/samples/Mvc.Server.

{
  "buildOptions": {
    "emitEntryPoint": true,
    "warningsAsErrors": true,
    "preserveCompilationContext": true,

    "embed": {
      "include": [ "Certificate.pfx" ]
    },

    "copyToOutput": {
      "include": [
        "wwwroot",
        "Views",
        "config.json",
        "web.config"
      ]
    }
  },

  "dependencies": {
    "AspNet.Security.OAuth.GitHub": "1.0.0-alpha4-final",
    "AspNet.Security.OAuth.Introspection": "1.0.0-alpha1-final",
    "AspNet.Security.OAuth.Validation": "1.0.0-alpha1-final",
    "Microsoft.AspNetCore.Authentication.Google": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Authentication.Twitter": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Diagnostics": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Mvc": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.StaticFiles": "1.0.0-rc2-final",
    "Microsoft.EntityFrameworkCore.SqlServer": "1.0.0-rc2-final",
    "Microsoft.Extensions.Configuration.CommandLine": "1.0.0-rc2-final",
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0-rc2-final",
    "Microsoft.Extensions.Configuration.Json": "1.0.0-rc2-final",
    "Microsoft.Extensions.Logging.Console": "1.0.0-rc2-final",
    "Microsoft.Extensions.Logging.Debug": "1.0.0-rc2-final",
    "OpenIddict": { "target": "project" }
  },

  "frameworks": {
    "net451": {
      "dependencies": {
        "Microsoft.NETCore.Platforms": "1.0.1-rc2-24027"
      }
    },

    "netcoreapp1.0": {
      "dependencies": {
        "Microsoft.NETCore.App": { "type": "platform", "version": "1.0.0-rc2-3002702" }
      },

      "imports": [
        "dnxcore50",
        "portable-net451+win8"
      ]
    }
  },

  "tools": {
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": {
      "version": "1.0.0-preview1-final",
      "imports": "portable-net45+wp80+win8+wpa81+dnxcore50"
    }
  },

  "scripts": {
    "postpublish": "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%"
  },

  "publishOptions": {
    "include": [
      "wwwroot",
      "Views",
      "config.json",
      "web.config"
    ]
  }
}
person Kévin Chalet    schedule 12.03.2016
comment
Что такое netstandardapp1.5 в рамках? Что он делает и почему он там ставится вместо dnxcore50? - person Piotrek; 13.03.2016
comment
В нем также говорится, что «netstandardapp1.5» — это неподдерживаемая платформа. - person Piotrek; 13.03.2016
comment
netstandardapp1.5 — это новое прозвище целевой платформы, которое заменяет dnxcore50. Можете ли вы поделиться полной ошибкой, которую вы видите, и обновленным файлом project.json? - person Kévin Chalet; 13.03.2016
comment
это полная ошибка. «netstandardapp1.5» — это неподдерживаемая платформа. У меня сейчас нет с собой компьютера, но все, что я изменил, это все части rc1-final версии зависимостей на rc2-* и заменил dnxcore50 теми пятью строками netstandardapp, которые вы показали в этом ответе. Позже я обновлю вопрос новым project.json, если хотите. - person Piotrek; 13.03.2016
comment
Да, пожалуйста. Вы пытались клонировать и запустить образец MVC? - person Kévin Chalet; 14.03.2016
comment
Наконец я понял это: у меня была минимальная версия sdk, указанная в global.json. В нем указано использование sdk для RC1, так что теперь понятно, почему это не сработало. НО есть и другие проблемы. Для Microsoft.Extensions.CodeGenerators.Mvc требуется dnxcore50 (я только что удалил его). Многие функции AspNetIdentity переопределяются функциями OpenIddict. То, что мы сейчас видим, — это гигантский беспорядок. - person Piotrek; 15.03.2016
comment
Many of AspNetIdentity functions seems to be overrided by OpenIddict functions. › а? Кроме того, не забывайте, что это все еще альфа-проект... - person Kévin Chalet; 15.03.2016
comment
Как я вижу на GitHub, вы являетесь участником этой зависимости. Можете ли вы сказать, когда OpenIddict будет поддерживать dnxcore50? Боюсь, это не поможет мне с моим API, возможно, я вернусь и воспользуюсь им позже. Спасибо за попытку помочь мне - person Piotrek; 15.03.2016
comment
OpenIddict уже поддерживает dnxcore50 (заменено на netstandard1.3/netstandardapp1.5 в последних версиях ASP.NET). - person Kévin Chalet; 15.03.2016
comment
Что ж, сейчас в Asp.net все так быстро меняется. Я бы хотел, чтобы я не начинал свой проект с версии-кандидата на выпуск. - person Piotrek; 15.03.2016
comment
Как главный человек, стоящий за инициативой aspnet-contrib, я разделяю вашу боль. Реагировать на все эти ломкие изменения крайне болезненно. - person Kévin Chalet; 15.03.2016
comment
Ответ обновлен, чтобы использовать окончательные пакеты ASP.NET Core RC2. - person Kévin Chalet; 19.05.2016