ReaderWriterLockSlim отсутствует в System :: Threading namespace с C ++/CLI

Недавно я установил Visual Studio 2012 и попытался перекомпилировать существующий проект, который представляет собой приложение C ++ смешанного режима с небольшим C ++/cli, используемым для доступа к сборке .net, требуемому приложением.

Часть реализации C ++/CLI использует класс ReaderWriterLockSlim для защиты доступа к словарю из нескольких потоков.

Все это компилируется и отлично работает с VS2010. Однако после обновления до VS0212 и .Net 4.5 проект теперь не скомпилируется, поскольку он не может найти ReaderWriterLockSlim в пространстве имен System :: Threading.

Я уверен, что установка прекрасна, так как я могу создать новый проект C# и без проблем использовать ReaderWriterLockSlim.

Новый проект C ++, показанный ниже, также терпит неудачу. Я не могу найти ссылку на этот класс, который намеренно удаляется для пользователей C ++/CLI либо здесь, либо в Google. У кого-то еще был подобный опыт.

#include "stdafx.h"
using namespace System::Threading;

int _tmain(int argc, _TCHAR* argv[])
{
    ReaderWriterLockSlim^ rwlock = gcnew ReaderWriterLockSlim();

    return 0;
}
1
nl ja de
Вы сказали, что получаете эту ошибку в проекте C ++, который вы преобразовали в C ++/CLI. Что произойдет, если вы создадите проект C ++/CLI с нуля?
добавлено автор David Yaw, источник

1 ответы

Обязательно обратите внимание на Статья библиотеки MSDN для класса, когда у вас есть такая проблема. В верхней части статьи показано, какая эталонная сборка требуется для использования класса:

Сборка: System.Core (в System.Core.dll)

Который не включен по умолчанию в шаблон проекта C ++/CLI. Исправьте это с помощью Project + Properties, Common Properties, Framework и References. Просмотрите список «Список литературы». Нажмите кнопку Добавить новую ссылку и отметьте System.Core из списка Assemblies + Framework.

3
добавлено
Спасибо, что исправил проблему. Никогда не думал проверять, что, поскольку ReaderWriterLock был доступен, но ReaderWriterLockSlim не был. Оказывается, ReaderWriterLock находится в файле mscorelib.dll.
добавлено автор user1200305, источник
pro.cxx
pro.cxx
3 049 участник(ов)

C/C++ chat 0. Простые вопросы, лабы и о IDE — в чат новичков @supapro 1. Не хамим, не переходим на личности, не вбрасываем утверждения без доказательств 2. No Ads, offtop, flood Объявления о вакансиях и евенты - в лс @AlexFails https://t.me/ProCxx/259155

supapro.cxx
supapro.cxx
1 925 участник(ов)

Чат для тех, кто немного знает C++, простые вопросы по реализации, синтаксису и ide – сюда, а для другого есть: /Главный чат по серьезным вопросам — @ProCxx /Чат по обсуждению всего — @fludpac

C++ Russia
C++ Russia
384 участник(ов)

Сообщество разработчиков C++ в Telegram.

cxx.Дискуссионная
cxx.Дискуссионная
298 участник(ов)

это не двач, общайтесь вежливо; разговор на почти любые темы; Не согласны с баном? В лс @AlexFails, @ivario

C++ для маленьких и тупых
C++ для маленьких и тупых
105 участник(ов)

Лоу левел (по среднему IQ участников) чатик ExtremeCode @extremecode Флудилка @extremecode_rest