Ошибка сборки AspNet.Security.OpenIdConnect.Server

Я пытаюсь собрать AspNet.Security.OpenIdConnect.Server, но получаю следующие ошибки:

.NETStandard,Version=v1.3 error NU1002: The dependency System.Security.Cryptography.OpenSsl 4.0.0-rc3-23911 in project AspNet.Security.OpenIdConnect.Server does not support framework .NETStandard,Version=v1.3.

Если я уберу ссылку на netstandard1.3 в projects.json, проект будет собран без ошибок.

Я использую последнюю нестабильную версию DNX (1.0.0-rc2-16595) в Windows.

Может ли кто-нибудь помочь мне понять, что происходит?

С уважением и заранее спасибо!


person Pedro Almeida    schedule 12.03.2016    source источник
comment
Подробнее: Я могу запустить проект без ошибок, если сделаю это из командной строки с dnx web. Однако, если я попытаюсь собрать его из Visual Studio, я получу вышеупомянутую ошибку. Спасибо.   -  person Pedro Almeida    schedule 12.03.2016


Ответы (1)


Ошибка, которую вы видите, вероятно, вызвана тем фактом, что некоторые из пакетов CoreFX Crypto были недавно обновлены и требуют netstandard1.4 вместо dotnet5.4/netstandard1.3:

4.0.0-rc3-23911:

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/01/nuspec.xsd">
  <metadata minClientVersion="3.4">
    <id>System.Security.Cryptography.OpenSsl</id>
    <version>4.0.0-rc3-23911</version>
    <title>System.Security.Cryptography.OpenSsl</title>
    <authors>Microsoft</authors>
    <owners>microsoft,dotnetframework</owners>
    <licenseUrl>http://go.microsoft.com/fwlink/?LinkId=329770</licenseUrl>
    <iconUrl>http://go.microsoft.com/fwlink/?LinkID=288859</iconUrl>
    <requireLicenseAcceptance>true</requireLicenseAcceptance>
    <description>Provides cryptographic algorithm implementations and key management for non-Windows systems with OpenSSL.

Commonly Used Types:
System.Security.Cryptography.RSAOpenSsl
 \r\n TFS ID: 1583883, GitHub SHA: https://github.com/dotnet/corefx/tree/3cabb976e023a5fb43143f47cfbceca60c0268a5</description>
    <copyright>© Microsoft Corporation.  All rights reserved.</copyright>
    <tags></tags>
    <dependencies>
      <group targetFramework=".NETStandard1.4">
        <dependency id="runtime.native.System.Security.Cryptography" version="[4.0.0-rc3-23911, )" />
        <dependency id="System.Collections" version="[4.0.11-rc3-23911, )" exclude="Compile" />
        <dependency id="System.IO" version="[4.0.11-rc3-23911, )" />
        <dependency id="System.Resources.ResourceManager" version="[4.0.1-rc3-23911, )" exclude="Compile" />
        <dependency id="System.Runtime" version="[4.0.21-rc3-23911, )" />
        <dependency id="System.Runtime.Extensions" version="[4.0.11-rc3-23911, )" exclude="Compile" />
        <dependency id="System.Runtime.Handles" version="[4.0.1-rc3-23911, )" />
        <dependency id="System.Runtime.InteropServices" version="[4.0.21-rc3-23911, )" exclude="Compile" />
        <dependency id="System.Runtime.Numerics" version="[4.0.1-rc3-23911, )" exclude="Compile" />
        <dependency id="System.Security.Cryptography.Algorithms" version="[4.1.0-rc3-23911, )" />
        <dependency id="System.Security.Cryptography.Encoding" version="[4.0.0-rc3-23911, )" exclude="Compile" />
        <dependency id="System.Security.Cryptography.Primitives" version="[4.0.0-rc3-23911, )" />
        <dependency id="System.Text.Encoding" version="[4.0.11-rc3-23911, )" exclude="Compile" />
      </group>
    </dependencies>
  </metadata>
</package>

4.0.0-rc2-23826:

<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/01/nuspec.xsd">
  <metadata minClientVersion="3.4">
    <id>System.Security.Cryptography.OpenSsl</id>
    <version>4.0.0-rc2-23826</version>
    <title>System.Security.Cryptography.OpenSsl</title>
    <authors>Microsoft</authors>
    <owners>microsoft,dotnetframework</owners>
    <licenseUrl>http://go.microsoft.com/fwlink/?LinkId=329770</licenseUrl>
    <iconUrl>http://go.microsoft.com/fwlink/?LinkID=288859</iconUrl>
    <requireLicenseAcceptance>true</requireLicenseAcceptance>
    <description>Provides cryptographic algorithm implementations and key management for non-Windows systems with OpenSSL.

Commonly Used Types:
System.Security.Cryptography.RSAOpenSsl
 \r\n TFS ID: 1579044, GitHub SHA: https://github.com/dotnet/corefx/tree/dacca1618c0dbb266945d42e58b9584e7c72126c</description>
    <copyright>© Microsoft Corporation.  All rights reserved.</copyright>
    <dependencies>
      <group targetFramework=".NETPlatform5.4">
        <dependency id="runtime.native.System.Security.Cryptography" version="4.0.0-rc2-23826" />
        <dependency id="System.Collections" version="4.0.0" />
        <dependency id="System.IO" version="4.0.10" />
        <dependency id="System.Resources.ResourceManager" version="4.0.0" />
        <dependency id="System.Runtime" version="4.0.20" />
        <dependency id="System.Runtime.Extensions" version="4.0.10" />
        <dependency id="System.Runtime.Handles" version="4.0.0" />
        <dependency id="System.Runtime.InteropServices" version="4.0.20" />
        <dependency id="System.Runtime.Numerics" version="4.0.0" />
        <dependency id="System.Security.Cryptography.Algorithms" version="4.0.0-rc2-23826" />
        <dependency id="System.Security.Cryptography.Encoding" version="4.0.0-rc2-23826" />
        <dependency id="System.Security.Cryptography.Primitives" version="4.0.0-rc2-23826" />
        <dependency id="System.Text.Encoding" version="4.0.10" />
      </group>
      <group targetFramework="MonoAndroid1.0" />
      <group targetFramework="MonoTouch1.0" />
      <group targetFramework=".NETFramework4.6" />
      <group targetFramework=".NETCore5.0" />
      <group targetFramework="Xamarin.iOS1.0" />
      <group targetFramework="Xamarin.Mac2.0" />
    </dependencies>
  </metadata>
</package>

Это не влияет на наши сборки, потому что мы используем только фид aspnetcidev (у которого еще нет пакетов CoreFX RC3), но вы, вероятно, недавно загрузили проект, использующий фид dotnet-core, из-за чего пакет RC3 сохранился в вашем глобальном магазин посылок (.nuget\packages).

Чтобы временно обойти эту проблему, вы можете перенастроить ASOS на использование netstandard1.4 или стереть папку .nuget\packages и использовать пакеты RC2.

person Kévin Chalet    schedule 12.03.2016
comment
Спасибо за быстрый ответ! Я очистил хранилище пакетов и изменил project.json на использование netstandard1.4, и теперь все зависимости успешно разрешены. Однако, когда я пытаюсь создать решение, я получаю следующую ошибку: CS1061: 'X509Store' does not contain a definition for 'Close' and no extension method 'Close' accepting a first argument of type 'X509Store' could be found в строке 152 из OpenIdConnectServerHelpers.cs. Мне интересно, действительно ли необходимо сообщать X509Store Close() после использования. В любом случае, большое спасибо за вашу помощь. - person Pedro Almeida; 12.03.2016
comment
Вы также переименовали символ NETSTANDARD1_3 в NETSTANDARD1_4? - person Kévin Chalet; 12.03.2016
comment
Переименование NETSTANDARD1_3 в NETSTANDARD1_4 помогло. Большое спасибо! - person Pedro Almeida; 12.03.2016
comment
Ницца! Рад, что вы разобрались! ;) - person Kévin Chalet; 12.03.2016
comment
Здравствуйте @Pinpoint, прошлой ночью я обновил свою копию ASOS с GitHub и пытаюсь понять, что происходит, может быть, вы можете мне помочь? Я сделал вышеупомянутые изменения, и я могу без проблем запустить проект, когда я делаю это из командной строки через dnx web. Однако я не могу построить его изнутри VS2015. Я получаю несколько ошибок CS1705. Я думал, что VS использует тот же путь для инструментов и компилятора, что и dnx, но, видимо, это не так. Можете ли вы помочь мне или указать мне в правильном направлении? Еще раз большое спасибо за вашу помощь. С уважением, Педро. - person Pedro Almeida; 24.03.2016
comment
Привет. Последние 2 недели были абсолютно ужасными, так как даже сервер CI не мог собрать проекты aspnet-contrib, но вчера все было решено: вы должны иметь возможность собирать ASOS как с DNX, так и с CLI и использовать VS, не видя странных сообщений. Если это все еще не работает, попробуйте очистить свои пакеты (C:\Users\[profile]\.nuget\packages). К вашему сведению, скоро я обновлю ASOS до netstandard1.4 (вероятно, сегодня или завтра). - person Kévin Chalet; 24.03.2016
comment
К вашему сведению, фид aspnetcidev обновляется банкоматом. Вам следует подождать, пока все пакеты не будут онлайн. Я внесу изменение netstandard1.3 > netstandard1.4, когда оно будет готово. - person Kévin Chalet; 24.03.2016
comment
Я также вижу странные проблемы с последними пакетами. К сожалению, я ничего не могу сделать :( - person Kévin Chalet; 24.03.2016
comment
Pinpoint, в любом случае спасибо за помощь - по крайней мере, я знаю, что не делаю ничего плохого! К вашему сведению, я все еще могу собрать и запустить ASOS с dnx web, но безуспешно с VS. - person Pedro Almeida; 25.03.2016
comment
Дополнительную информацию об этой ошибке можно найти в этой теме: github.com/ openiddict/openiddict-core/issues/. - person Kévin Chalet; 25.03.2016
comment
Спасибо! Это объясняет сообщения об ошибках, которые я получаю в VS2015, но я до сих пор не понимаю, почему он собирается и работает без проблем с dnx web. Я продолжу исследования. Еще раз большое спасибо за вашу помощь. - person Pedro Almeida; 25.03.2016
comment
@pealmeid пакеты IdentityModel были перестроены. Сборка ASOS теперь должна нормально работать как с DNX, так и с CLI. - person Kévin Chalet; 29.03.2016
comment
Сборка работает как положено, большое спасибо за вашу помощь! - person Pedro Almeida; 30.03.2016