У меня есть COM-сервер. Если я вызываю его метод в динамическом стиле, как это, в случае какой-то проблемы с другой стороны, я получаю полное исключение
try
{
Type factoryType = Type.GetTypeFromProgID("VPI.TcHost.TcAppFactory");
dynamic factory = Activator.CreateInstance(factoryType);
dynamic appl = factory.CreateTcApp("Nga", "8.7");
}
catch (COMException ex)
{
//Here i get nice exception with _FULL_ description message
}
Когда я создаю InteropAssembly и вызываю его метод следующим образом, в случае возникновения проблем с другой стороны, я получаю короткую оболочку исключения
try
{
CTcAppFactory appFactory = new CTcAppFactory();
CNgaApp mApp = appFactory.CreateTcApp("Nga", "8.7");
}
catch (COMException ex)
{
//Here i get short exception with hex code without Error string that was sent
//from COM server
}
Вот так выглядит короткое исключение. (Он не содержит описания проблемы, которую отправляет мой COM-сервер)
![Incorrect exception](https://i.stack.imgur.com/UtvwB.png)
Как получить полное исключение в строго типизированном варианте кода?