Не знам какво точно правите, но препратките към rc1 изглеждат грешни, сега, когато ASP.NET Core RTM е излязъл от няколко месеца.
Взех източника на 1.0.0 (трябва да изберете специално маркера 1.0.0. Главният клон е базиран на ASP.NET Core 1.1).
Единственото нещо, което промених, е project.json
(Разтоварих другите ненатоварени несвързани проекти и тестови проекти с изключение на Microsoft.Extensions.Caching.Redis.Test
.
Това е моят project.json
(на 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"
}
}
}
}
}
Не се изискват промени в Microsoft.Extensions.Caching.Abstractions
.
Като алтернатива можете да използвате StackExchange.Redis
вместо StackExchange.Redis.StrongName
който не е със силно име (подписан). Не съм сигурен дали така създаденият/компилиран пакет ще бъде подписан със същия ключ като другите пакети, което може да създаде проблеми по-късно. Ако използвате неподписан, това също може да създаде проблеми, ако вашето приложение е със силно име (или имате бизнес изискване всички асембли да са силно подписани).
Това се компилира и модулните тестове преминават, не се тества допълнително.
Колкото до останалата част от въпроса ви:
".NET Core 5" nuget целта е dnx50
който беше използван до ASP.NET Core rc1. С rc2 ASP.NET Core е превключен към dotnet-cli и DNX вече не се поддържа и няма да получава повече актуализации. С rc2 netstandard
беше въведен, за да опрости създаването на библиотеки с класове, които могат да се насочат към повечето налични платформи (пълен .NET Framework, .NET Core, WinRT/WindowsPhone/Windows8/Windows10, mono, Xamarin и т.н.). Можете да научите повече за .NET Standard Library.