ICLRRuntimeHost :: ExecuteInDefaultAppDomain无法执行应用程序

时间:2017-12-03 16:28:42

标签: c# c++ clr

我已经使用此代码运行我预先编译的C#应用​​程序:

type(self)

执行后ICLRMetaHost *p_meta_host = nullptr; ICLRRuntimeInfo *p_runtime_info = nullptr; ICLRRuntimeHost *p_clr_runtime_host = nullptr; CLRCreateInstance(CLSID_CLRMetaHost, IID_PPV_ARGS(&p_meta_host)); p_meta_host->GetRuntime(L"v4.0.30319", IID_PPV_ARGS(&p_runtime_info)); p_runtime_info->GetInterface(CLSID_CLRRuntimeHost, IID_PPV_ARGS(&p_clr_runtime_host)); p_clr_runtime_host->Start(); auto hr = p_clr_runtime_host->ExecuteInDefaultAppDomain( L"C:\\somefolder\\test.exe", L"InjectExample.Program", L"EntryPoint", L"hey!", &p_return_value); 不是hrS_OK返回GetLastError()
这一点肯定存在于ERROR_FILE_NOT_FOUND中 任何想法为什么会发生这种情况?

--UPD。在调试日志中发现:

'C:\\somefolder\\test.exe'

1 个答案:

答案 0 :(得分:0)

问题已解决。
显然hr等于COR_E_MISSINGMETHOD0x80131513
这意味着我试图使用错误的方法。

有关返回代码的更多信息,请访问: https://referencesource.microsoft.com/#mscorlib/system/__hresults.cs,c4f0369b78643cb0