安裝新的.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