C++ から .NET アセンブリを呼び出しています。
これは、私が呼び出すすべてのテスト .NET 4.0 プロジェクトで完全に機能します。
ただし、20 個のサブアセンブリを含む大規模なプロジェクトを呼び出すと、次のエラーで失敗します。
Failed to execute assembly: 0x80004003. GetLastError=126. dwReturn=1.
エラーを生成する C++ コードは次のとおりです。
DWORD dwReturn;
hr = pCLR->ExecuteInDefaultAppDomain(szApplication, szEntryType, szEntryMethod, szParameter, &dwReturn);
if (FAILED(hr))
{
// Fails if I try the production assembly, with 20 subassemblies.
printf(" Failed to execute assembly: 0x%X. GetLastError=%d. dwReturn=%d.\n", hr, GetLastError(), dwReturn);
}
else
{
// Works 100% if I plug in a small toy assembly in .NET 4.0.
wprintf(L" Assembly returned: %d\n", dwReturn);
}
環境
- ビジュアル スタジオ 2010 SP1。
- 上記のコードの C++。
- ターゲット アセンブリ用の .NET 4.0。