没有System.Runtime.Caching可用?

35

输出类型为“类库”,目标框架为“.NET Framework 4”。

根据我所阅读的一切,我应该已经拥有它了,但在System.Runtime命名空间中我所看到的只有以下内容:

CompilerServices
ConstrainedExecution
ExceptionServices
Hosting
InteropServices
Remoting
Serialization
Versioning

有任何想法吗?


你缺少哪个具体的对象?可能只是不同程序集中有类似的命名空间。 - tmesser
4个回答

67

您只需添加对 System.Runtime.Caching 组件的引用。

  1. 在“解决方案资源管理器”中,右键单击“引用”
  2. 选择“添加引用”
  3. 从左侧菜单中选择“程序集”
  4. 查找(或筛选)并添加 System.Runtime.Caching.dll

它不是类库中默认的引用集之一,但您应该能够毫无问题地将其添加进去。


叹气 谢谢,我第一时间就投入其中,但不知何故成功地忽略了汇编语言在列表中。愚蠢的错误。 - Fred

17

为了补充Jon Skeets的答案(对于那些遇到这个问题的人),如果在添加对System.Runtime.Caching程序集的引用后,Caching下仍然有红色波浪线,请保存解决方案,重启Visual Studio,然后你就可以顺利进行。

Visual Studio 红色波浪线

添加引用保存解决方案和(如果需要)重新启动Visual Studio之后,您应该能够使用命名空间中的类型。为了让我的解决方案起作用,我必须采取这种方法。

编辑:

在尝试重现问题并通过此方式解决时,似乎我们需要将System.Runtime.Caching > 属性中的Copy Local设置为True,然后重启Visual Studio以使其正常工作。 对于我的情况,如果没有这样做,问题似乎无法解决。 ;)

输入图像描述


2
谢谢您 - 第一部分没有帮助,但是额外的编辑部分非常有效 :) - IfElseTryCatch

5

参考 System.Runtime.Caching.dll。这是.NET框架中的另一个相当晦涩的陷阱,其中一些东西将有非常相似的命名空间,但您想要的实际类将在不同的程序集中引用。例如,CacheItem 在此备用 DLL 中,而 ApplicationActivator(位于 System.Runtime.Hosting 中)在 mscorlib 中。


3

对于我而言,System.Runtime.Caching NuGet包是我需要的东西。稍加设置,一切就会顺利。

dotnet add package System.Runtime.Caching --version 5.0.0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接