安装新的.Net Framework(版本4.5)时出现问题。我正在研究通过本机代码访问的插件程序集。该库是使用Visual Studio 2010和.NET 4.0作为目标平台构建的。使用.NET 4.5和混合程序集时出现未知异常
以下代码片段在.NET 4.5中引发异常,并且在.NET 4.0中正常工作。任何想法如何解决这个问题?
#pragma managed(push, off)
#pragma managed(push, on)
static bool ManagedTestFunction() {
return false;
}
#pragma managed(pop)
static void CheckIfManagedUnmanagedTransitionIsPossible()
{
try
{
ManagedTestFunction();
}
catch (...)
{
throw misc::mwException(0, _T("The program is not working if .NET Framework 4.5 is installed. Please revert to previous version .NET 4.0!"));
}
};
问候
迈克尔
嗨, 感谢您的建议。由于catch块处于平面本机代码中,因此无法捕获任何托管异常。不幸的是,通过的例外是没有std :: exception。任何想法我应该赶上? Michael – BikingGlobetrotter
如果有某种根异常(如.NET中的Exception),我会试着去捕捉它。你也可以尝试捕捉(我认为)System.ComponentModel.Win32Exception。 –
不幸的是,原生C++没有任何root异常。 – BikingGlobetrotter