Search code examples
asp.net-coreopenid-connectaspnet-contrib

Error building AspNet.Security.OpenIdConnect.Server


I'm trying to build AspNet.Security.OpenIdConnect.Server but I'm getting the following errors:

.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.

If I remove the reference to netstandard1.3 in projects.json the project builds without errors.

I'm using the latest unstable DNX (1.0.0-rc2-16595) on Windows.

Can anyone help me figure out what's happening?

Regards and thanks in advance!


Solution

  • The error you're seeing is likely caused by the fact some of the CoreFX Crypto packages were recently updated to require netstandard1.4 instead of 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>
    

    This doesn't impact our builds because we only use the aspnetcidev feed (that doesn't have the CoreFX RC3 packages yet), but you probably downloaded a project using the dotnet-core feed recently, which caused the RC3 package to be persisted in your global packages store (.nuget\packages).

    To temporarily work around this issue, you can re-target ASOS to use netstandard1.4 or wipe your .nuget\packages folder and use the RC2 packages.