最近VisualStudio2012をインストールし、アプリに必要な.netアセンブリにアクセスするために使用される小さなC ++/cliを使用した混合モードC++アプリケーションである既存のプロジェクトを再コンパイルしてみました。
C ++ / CLI実装の一部は、ReaderWriterLockSlimクラスを使用して、複数のスレッドから辞書へのアクセスを保護します。
これはすべてコンパイルされ、VS2010で正常に動作します。ただし、VS0212および.Net 4.5にアップグレードした後、System :: Threading名前空間でReaderWriterLockSlimが見つからないため、プロジェクトはコンパイルに失敗します。
新しいC#プロジェクトを作成し、ReaderWriterLockSlimを問題なく使用できるので、インストールは問題ないと確信しています。
以下に示す新しいC++プロジェクトも失敗します。ここまたはgoogleのいずれかで、C ++/CLIユーザーのために意図的に削除されているこのクラスへの参照を見つけることができません。他の誰かが同じような経験をしたことがありますか。
#include "stdafx.h"
using namespace System::Threading;
int _tmain(int argc, _TCHAR* argv[])
{
ReaderWriterLockSlim^ rwlock = gcnew ReaderWriterLockSlim();
return 0;
}