Доступна система System.Runtime.Caching?
тип вывода "Библиотека классов" и целевая структура ".NET Framework 4".
В соответствии со всем, что я прочитал, я должен иметь его доступным, но все, что я вижу в пространстве имен System.Runtime, следующее:
CompilerServices
ConstrainedExecution
ExceptionServices
Hosting
InteropServices
Remoting
Serialization
Versioning
Любые идеи?
Ответы
Ответ 1
Вам просто нужно добавить ссылку на сборку System.Runtime.Caching
. В проводнике решений щелкните правой кнопкой мыши "Ссылки", выберите "Добавить ссылку", затем добавьте System.Runtime.Caching.dll
. Это не часть набора ссылок по умолчанию в библиотеке классов, но вы можете добавить его без проблем.
Ответ 2
Ссылка System.Runtime.Caching.dll
. Это еще одна из этих довольно тупых gotchas в .NET framework прямо сейчас, где в некоторых случаях будут похожие пространства имен, но фактические классы, на которые вы хотите, будут ссылаться в разных сборках. Например, CacheItem находится в этой альтернативной DLL, тогда как ApplicationActivator (в System.Runtime.Hosting) находится в mscorlib.
Ответ 3
Чтобы дополнить Jon Skeets answer, (для тех, кто сталкивается с этой проблемой), если вы все еще получаете красные squiggly строки под Caching
после добавления ссылки на System.Runtime.Caching
, просто перезапустите Visual Studio, после того как вы сохранили решение, и вам должно быть хорошо идти.
![Красные криволинейные строки Visual Studio]()
Добавив ссылку, сохраните решение и (если это потребуется) перезагрузите Visual Studio, вы сможете использовать types
внутри этого namespace
. Чтобы заставить мое решение работать, я должен был сделать это очень точно.
Edit:
При попытке воссоздать проблему и решить эту задачу нам кажется, что нам нужно установить Copy Local
в True
в System.Runtime.Caching
> Properties
, а затем перезапустить Visual Studio, чтобы заставить ее работать. По крайней мере, для моего случая проблема, казалось, не решалась без этого.;)
![введите описание изображения здесь]()