2011-02-11 66 views
1

我试图通过CoGetObject方法启动.NET对象,如在MSDN上COM Elevation Moniker文章中所述。我开始使用Vista Bridge代码工作,然后偶然发现了older sample that shows some of the bits wired up。在这一点上,我想弄清楚为什么我收到抛出FileNotFoundException异常时,电话将转入通过这种方法:启动提升权限的COM(.NET)对象抛出FileNotFoundException

var result = UnsafeNativeMethods.CoGetObject(monikerName, ref bindingOptions, interfaceId); 

显示同意提示后,这是奇怪的例外只有抛出。我正在使用Windows 7 x64机器,如果有帮助并且有posted the full source of my spike

我在这里丢失什么可能导致FileNotFoundException被抛出?

+0

我对你的情况并不熟悉,但它可能有助于确定它试图找到文件的位置/它的期望值。我建议你从Sysinternals网站下载ProcMon(进程监控器) - 你应该能够过滤事件,只显示你的进程没有找到的文件 - 希望这会有所帮助 – Basic 2011-02-11 23:40:16

回答

0

您是否使用/ tlb开关运行RegAsm.exe来为COM服务器导出并注册typelib?没有注册的typelib可能会导致FileNotFoundException。

+0

尝试过,并用Process Monitor观看;找不到任何迷路的文件I/O。 – 2011-05-14 22:41:59