Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在ASP.NET 5/MVC 6中使用IDistributedCache和Redis-类型或命名空间';Microsoft.Caching';不存在_C#_Caching_Asp.net Core_Asp.net Core Mvc - Fatal编程技术网

C# 在ASP.NET 5/MVC 6中使用IDistributedCache和Redis-类型或命名空间';Microsoft.Caching';不存在

C# 在ASP.NET 5/MVC 6中使用IDistributedCache和Redis-类型或命名空间';Microsoft.Caching';不存在,c#,caching,asp.net-core,asp.net-core-mvc,C#,Caching,Asp.net Core,Asp.net Core Mvc,我正在试验在MVC6中使用Redis缓存,但我无法构建我的项目 我遵循了上的示例-有一个IDistributedCache示例和一个Redis示例。然而,这并不完全清楚,因为Redis示例不是一个web应用程序 我的project.json依赖项中有以下内容: "Microsoft.Framework.Cache.Memory": "1.0.0-beta3", "Microsoft.Framework.Caching.Distributed": "1.0.0-*", "M

我正在试验在MVC6中使用Redis缓存,但我无法构建我的项目

我遵循了上的示例-有一个IDistributedCache示例和一个Redis示例。然而,这并不完全清楚,因为Redis示例不是一个web应用程序

我的project.json依赖项中有以下内容:

    "Microsoft.Framework.Cache.Memory": "1.0.0-beta3",
    "Microsoft.Framework.Caching.Distributed": "1.0.0-*",
    "Microsoft.Framework.Caching.Redis": "1.0.0-*",
我用这个来获取我的包:

kpm安装Microsoft.Framework.Caching.Distributed

kpm安装Microsoft.Framework.Caching.Redis

两个命令都起作用并返回OK

在我的创业公司中,我尝试了以下几点:

 services.AddSingleton<IMemoryCache, MemoryCache>();
 services.AddSingleton<IDistributedCache, RedisCache>();
services.AddSingleton();
services.AddSingleton();
尝试生成或运行时,给出的错误为:

cs(10,27):错误CS0234:类型或命名空间名称“缓存” 命名空间“Microsoft.Framework”中不存在(是否缺少) 程序集引用?)Startup.cs(11,27):错误CS0234:类型或 命名空间中不存在命名空间名称“缓存” “Microsoft.Framework”(是否缺少程序集引用?) cs(25,35):错误CS0246:类型或命名空间名称 找不到“IDistributedCache”(您是否缺少使用 指令或程序集参考?)Startup.cs(25,54):错误CS0246: 找不到类型或命名空间名称“RedisCache”(是否为“”) 缺少使用指令或程序集引用?)

现在很明显,我有错误的参考资料-但什么是正确的参考资料?我直接从样本中复制名称空间?我尝试切换到Microsoft.Cache.Distributed,但也没有成功(与github冲突)

我有一种感觉,这与没有正确的K版本有关,也许这就是出路——升级到最新版本。Framework.Cache.Memory和Framework.Cache.Distributed之间不匹配,我看到github注释与命名空间更改有关

如果有人能指出走出这个迷宫的路,我将不胜感激

以下答案适用于缓存库的1.0.0-beta4版本,对应于此处:

位于
Microsoft.Framework.Caching.Memory
命名空间下,位于
Microsoft.Framework.Caching.Distributed
命名空间下

依赖项如下所示:

"dependencies": { 
    "Microsoft.Framework.Caching.Memory": "1.0.0-beta4",
    "Microsoft.Framework.Caching.Distributed": "1.0.0-beta4",
    "Microsoft.Framework.Caching.Redis": "1.0.0-beta4"
}

因此,
Microsoft.Framework.Cache.Memory
Microsoft.Framework.Caching.Memory

请尝试beta4而不是beta3beta4,特别是对于整个项目,问题是这些名称空间没有得到解决。如果您看到我的project.json引用,我在中有这些引用(它们在startup.cs文件中也被声明为“using”语句)。我已经尝试了这一点,但不幸的是,我的整个安装都失败了。也尝试过从KRE到DNX,但也失败了。从beta3跳到beta4是致命的。我必须完成这项工作,当我清理甲板并重新运行时,我会回来。好的,这项工作我终于开始了。但问题是,除了Redis之外,还有其他分布式缓存实现吗?