从AxHost获取更多调试信息?

时间:2009-04-21 12:21:47

标签: c# exception activex hresult axhost

我正在尝试部署一个应用程序,该应用程序使用在C#中嵌入带AxHost的ActiveX控件的库。

当我在我们的测试台上运行已安装的应用程序时,我会捕获并呈现以下异常:

Unexpected exception.

This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem. (Exception from HRESULT: 0x800736B1)
   at System.Windows.Forms.UnsafeNativeMethods.CoCreateInstance(Guid& clsid, Object punkOuter, Int32 context, Guid& iid)
   at System.Windows.Forms.AxHost.CreateWithoutLicense(Guid clsid)
   at System.Windows.Forms.AxHost.CreateWithLicense(String license, Guid clsid)
   at System.Windows.Forms.AxHost.CreateInstanceCore(Guid clsid)
   at System.Windows.Forms.AxHost.CreateInstance()
   at System.Windows.Forms.AxHost.GetOcxCreate()
   at System.Windows.Forms.AxHost.TransitionUpTo(Int32 state)
   at System.Windows.Forms.AxHost.CreateHandle()
   at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   at System.Windows.Forms.AxHost.EndInit()
   at ....InitializeComponent()
   at ...

我用Google搜索了0x800736B1,所以我知道这意味着无法加载文件。

现在最重要的是如何找出哪个文件无法加载。

我可以打开某种日志记录功能吗,或者可能有一些方法可以从异常中获取更多信息?

1 个答案:

答案 0 :(得分:0)

除非是您的ActiveX代码,否则这将很难或不可能。我建议使用像ProcessMonitor这样的工具来查找哪个文件句柄失败。如果您有代码,则可以在调试模式下运行它,或者改进它的日志记录。

当然你总是可以尝试

  

重新安装应用程序可能会修复   这个问题