Подтвердить что ты не робот

Доступна система System.Runtime.Caching?

тип вывода "Библиотека классов" и целевая структура ".NET Framework 4".

В соответствии со всем, что я прочитал, я должен иметь его доступным, но все, что я вижу в пространстве имен System.Runtime, следующее:

CompilerServices
ConstrainedExecution
ExceptionServices
Hosting
InteropServices
Remoting
Serialization
Versioning

Любые идеи?

4b9b3361

Ответ 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, чтобы заставить ее работать. По крайней мере, для моего случая проблема, казалось, не решалась без этого.;)

введите описание изображения здесь