sql >> Databasteknik >  >> NoSQL >> Redis

Försöker lösa beroenden:Ändra .NET Standard Library till NET Core - Microsoft.Extensions.Primitives

Vet inte exakt vad du gör, men rc1-referenser verkar fel, nu när ASP.NET Core RTM är ute i flera månader.

Jag tog tag i 1.0.0-källan (du måste specifikt välja 1.0.0-taggen. Master-grenen är baserad på ASP.NET Core 1.1).

Det enda jag ändrade är project.json (Jag laddade bort de andra avlastade orelaterade projekten och testprojekten förutom Microsoft.Extensions.Caching.Redis.Test .

Det här är mitt project.json (av 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"
        }
      }
    }
  }
}

Inga ändringar krävs i Microsoft.Extensions.Caching.Abstractions .

Alternativt kan du använda StackExchange.Redis istället för StackExchange.Redis.StrongName som inte är starkt namngiven (signerad). Inte säker på om det så skapade/kompilerade paketet kommer att signeras med samma nyckel som de andra paketen, vilket kan skapa problem senare. Om du använder en osignerad kan det också skapa problem, om din applikation är starkt namngiven sig själv (eller om du har affärskrav att alla sammansättningar är starkt signerade).

Detta kompileras och enhetstesten klarar, testade inte vidare.

Vad gäller resten av din fråga:

Nuget-målet ".NET Core 5" är dnx50 som användes fram till ASP.NET Core rc1. Med rc2 ASP.NET Core bytt till dotnet-cli och DNX stöds inte nu och kommer inte att få några ytterligare uppdateringar. Med rc2 är netstandard introducerades för att förenkla skapandet av klassbibliotek som kan rikta in sig på de flesta tillgängliga plattformar (fullständigt .NET Framework, .NET Core, WinRT/WindowsPhone/Windows8/Windows10, mono, Xamarin, etc). Du kan lära dig mer om .NET Standard Library.




  1. DeprecationWarning:collection.findAndModify är utfasad. Använd findOneAndUpdate, findOneAndReplace eller findOneAndDelete istället?

  2. Hur separerar redis instansen med flera användare som körs på samma server?

  3. Mongo Aggregation:$group och $project array för att invända för räkningar

  4. node.js &express - globala moduler och bästa praxis för applikationsstruktur