I donβt know what exactly you are doing, but the rc1 links seem to be wrong now that ASP.NET Core RTM has been shutting down for several months.
I grabbed 1.0.0 sourced (you need to specifically select the 1.0.0 tag. The main branch is based on ASP.NET Core 1.1).
The only thing I changed was project.json
(I unloaded other unloaded unrelated projects and test projects, except for Microsoft.Extensions.Caching.Redis.Test
.
This is my project.json
(from 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" } } } } }
No changes are required in Microsoft.Extensions.Caching.Abstractions
.
Alternatively, you can use StackExchange.Redis
instead of StackExchange.Redis.StrongName
, which is not a strong name (signed). Not sure if the created / compiled package will be signed with the same key as the other packages, which may cause problems later. If you use unsigned, then it can also cause problems if your strong application has named itself (or you have a business requirement that all assemblies be a strong signature).
This compiler and unit tests pass, have not tested further.
As for the rest of your question:
".NET Core 5" nuget target dnx50
, which was used before ASP.NET Core rc1. With rc2, ASP.NET Core switched to dotnet-cli, and DNX is no longer supported and will not receive any additional updates. Netstandard was introduced with netstandard
to simplify the creation of class libraries that can target most of the available platforms (full .NET Framework, .NET Core, WinRT / WindowsPhone / Windows8 / Windows10, mono, Xamarin, etc.). You can learn more about the .NET Standard Library .