Não sei o que exatamente você está fazendo, mas as referências rc1 parecem erradas, agora que o ASP.NET Core RTM saiu por vários meses.
Peguei a origem 1.0.0 (você precisa escolher especificamente a marca 1.0.0. A ramificação mestre é baseada no ASP.NET Core 1.1).
A única coisa que mudei foi
project.json
(Descarreguei os outros projetos não relacionados e projetos de teste descarregados, exceto Microsoft.Extensions.Caching.Redis.Test
. Este é meu
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"
}
}
}
}
}
Nenhuma alteração necessária em
Microsoft.Extensions.Caching.Abstractions
. Alternativamente, você pode usar
StackExchange.Redis
em vez de StackExchange.Redis.StrongName
que não tem um nome forte (assinado). Não tenho certeza se o pacote criado/compilado será assinado com a mesma chave dos outros pacotes, o que pode gerar problemas posteriormente. Se você usar um não assinado, isso também poderá criar problemas, se seu aplicativo tiver um nome forte (ou se você tiver um requisito comercial de que todos os assemblies sejam assinados com segurança). Isso compila e os testes de unidade passam, não testei mais.
Quanto ao resto da sua pergunta:
O destino do nuget ".NET Core 5" é
dnx50
que foi usado até o ASP.NET Core rc1. Com o rc2 ASP.NET Core alternado para o dotnet-cli e o DNX não é compatível agora e não receberá mais atualizações. Com rc2 o netstandard
foi introduzido para simplificar a criação de bibliotecas de classes que podem ter como alvo a maioria das plataformas disponíveis (full .NET Framework, .NET Core, WinRT/WindowsPhone/Windows8/Windows10, mono, Xamarin, etc). Você pode aprender mais sobre a Biblioteca Padrão .NET.