私は、C++/CLI レイヤーを介して .NET コードとネイティブ C++ コードを混在させるプロジェクトに取り組んでいます。このソリューションでは、__declspec(thread) 宣言を介して Thread Local Storage を使用したいと考えています。
__declspec(thread) int lastId = 0;
ただし、変数の最初のアクセスで、NullReferenceException が発生します。より正確には、宣言はref クラス(C++/CLI で実装された .NET クラス) 内で行われます。
__declspec(thread) が遅延ロードされた DLL では機能しないことについては、既に読んだことがあります。.NET を使用している場合、遅延ロードされた DLL を自動的に使用していますか?