Redis
 sql >> Base de données >  >> NoSQL >> Redis

Essayer de résoudre les dépendances :modification de la bibliothèque standard .NET en NET Core - Microsoft.Extensions.Primitives

Je ne sais pas exactement ce que vous faites, mais les références rc1 semblent fausses, maintenant que ASP.NET Core RTM est sorti depuis plusieurs mois.

J'ai récupéré la source 1.0.0 (vous devez choisir spécifiquement la balise 1.0.0. La branche principale est basée sur ASP.NET Core 1.1).

La seule chose que j'ai changée est project.json (J'ai déchargé les autres projets non liés déchargés et les projets de test, à l'exception de Microsoft.Extensions.Caching.Redis.Test .

Ceci est mon project.json (de 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"
        }
      }
    }
  }
}

Aucune modification requise dans Microsoft.Extensions.Caching.Abstractions .

Vous pouvez également utiliser StackExchange.Redis au lieu de StackExchange.Redis.StrongName qui n'est pas fort nommé (signé). Vous ne savez pas si le package ainsi créé/compilé sera signé avec la même clé que les autres packages, ce qui peut créer des problèmes ultérieurement. Si vous en utilisez un non signé, cela peut également créer des problèmes si votre application est elle-même nommée de manière forte (ou si vous avez une exigence commerciale selon laquelle tous les assemblys sont signés de manière forte).

Cela compile et les tests unitaires réussissent, n'ont pas été testés davantage.

Pour le reste de votre question :

La cible du nuget ".NET Core 5" est dnx50 qui a été utilisé jusqu'à ASP.NET Core rc1. Avec rc2, ASP.NET Core est passé à dotnet-cli et DNX n'est plus pris en charge et ne recevra plus de mises à jour. Avec rc2 le netstandard a été introduit pour simplifier la création de bibliothèques de classes qui peuvent cibler la plupart des plates-formes disponibles (Framework .NET complet, .NET Core, WinRT/WindowsPhone/Windows8/Windows10, mono, Xamarin, etc.). Vous pouvez en savoir plus sur la bibliothèque standard .NET.