我最近安裝了Visual Studio 2012,並嘗試重新編譯一個現有項目,它是一個混合模式C++應用程序,帶有一些C++/cli用於訪問.net程序集所需的應用程序。ReaderWriterLockSlim從System ::線程化命名空間中用C++/CLI丟失
C++/CLI實現的一部分使用ReaderWriterLockSlim類來保護對來自多個線程的字典的訪問。
這一切都編譯和VS2010工作正常。但是,升級到VS0212和.Net 4.5後,該項目現在無法編譯,因爲它無法在System :: Threading命名空間中找到ReaderWriterLockSlim。
我相當肯定安裝是好的,因爲我可以創建一個新的C#項目並使用ReaderWriterLockSlim沒有任何問題。
下面顯示的新C++項目也失敗。我無法在這裏或谷歌上找到任何有關這類C++/CLI用戶故意刪除的引用。其他人有過類似的經歷嗎?
#include "stdafx.h"
using namespace System::Threading;
int _tmain(int argc, _TCHAR* argv[])
{
ReaderWriterLockSlim^ rwlock = gcnew ReaderWriterLockSlim();
return 0;
}
你說你在一個C++項目中得到了這個錯誤,你轉換爲C++/CLI。如果您從頭開始創建C++/CLI項目會發生什麼? –