Redis
 sql >> Datenbank >  >> NoSQL >> Redis

Versuchen, Abhängigkeiten aufzulösen:Ändern der .NET Standard-Bibliothek in NET Core – Microsoft.Extensions.Primitives

Keine Ahnung, was genau Sie tun, aber rc1-Referenzen scheinen falsch zu sein, jetzt, wo ASP.NET Core RTM seit mehreren Monaten draußen ist.

Ich habe die 1.0.0-Quelle genommen (Sie müssen das 1.0.0-Tag ausdrücklich auswählen. Der Master-Zweig basiert auf ASP.NET Core 1.1).

Das einzige, was ich geändert habe, ist project.json (Ich habe die anderen entladenen, nicht verwandten Projekte und Testprojekte mit Ausnahme von Microsoft.Extensions.Caching.Redis.Test entladen .

Dies ist meine project.json (von Microsoft.Extensions.Caching.Redis ):

{
  "version": "1.0.0",
  "description": "Distributed cache implementation of Microsoft.Extensions.Caching.Distributed.IDistributedCache using Redis.",
  "packOptions": {
    "repository": {
      "type": "git",
      "url": "https://github.com/aspnet/caching"
    },
    "tags": [
      "cache",
      "distributedcache",
      "redis"
    ]
  },
  "buildOptions": {
    "warningsAsErrors": true,
    "keyFile": "../../tools/Key.snk",
    "nowarn": [
      "CS1591"
    ],
    "xmlDoc": true
  },
  "dependencies": {
    "Microsoft.Extensions.Caching.Abstractions": "1.0.0",
    "Microsoft.Extensions.Options": "1.0.0",
    "StackExchange.Redis.StrongName": "1.1.608"
  },
  "frameworks": {
    "netstandard1.5": { },
    "net451": {
      "dependencies": { },
      "frameworkAssemblies": {
        "System.Runtime": {
          "type": "build"
        }
      }
    }
  }
}

Keine Änderungen in Microsoft.Extensions.Caching.Abstractions erforderlich .

Alternativ können Sie StackExchange.Redis verwenden anstelle von StackExchange.Redis.StrongName die nicht stark benannt (signiert) ist. Nicht sicher, ob das so erstellte/kompilierte Paket mit demselben Schlüssel wie die anderen Pakete signiert wird, was später zu Problemen führen kann. Wenn Sie eine nicht signierte verwenden, kann dies auch zu Problemen führen, wenn Ihre Anwendung selbst einen starken Namen hat (oder Sie geschäftliche Anforderungen haben, dass alle Assemblys stark signiert sind).

Dies wird kompiliert und die Komponententests bestehen, haben nicht weiter getestet.

Zum Rest Ihrer Frage:

„.NET Core 5“-Nuget-Ziel ist dnx50 die bis ASP.NET Core rc1 verwendet wurde. Mit rc2 wird ASP.NET Core auf dotnet-cli umgestellt und DNX wird jetzt nicht mehr unterstützt und erhält keine weiteren Updates. Mit rc2 den netstandard wurde eingeführt, um die Erstellung von Klassenbibliotheken zu vereinfachen, die auf die meisten verfügbaren Plattformen abzielen können (vollständiges .NET Framework, .NET Core, WinRT/WindowsPhone/Windows8/Windows10, Mono, Xamarin usw.). Sie können mehr über die .NET-Standardbibliothek erfahren.