19得票2回答
托管组件中的Await和SynchronizationContext在未托管应用程序中托管。

[编辑] 这似乎是框架实现中Application.DoEvents的一个错误,我已在此处报告了这个问题。 在UI线程上恢复错误的同步上下文可能会严重影响像我这样的组件开发人员。悬赏的目的是引起更多关注这个问题,并奖励 @MattSmith ,他的答案帮助我们跟踪到了这个问题。 我负责一个基...

15得票8回答
w3wp.exe 中发生了未处理的 Win32 异常

尝试加载ASP.NET MVC网站时,遇到以下异常: 在w3wp.exe的0x07070a91处发生未处理的异常:0xC0000005:访问位置0x00000000时出现访问冲突。 Visual Studio Just-In-Time调试器打开,调试器中唯一可见的信息是: ...

8得票4回答
尽管找到接口,CoCreateInstance仍返回E_NOINTERFACE。

我有一个COM类CMyCOMServer,在一个应用程序中实现了IMyInterface,并且都具有正确的GUID。如果请求IUnknown或IMyInterface,则CMyCOMServer :: QueryInterface将返回S_OK(并将自身转换为正确的类型),否则它将返回E_NO...

8得票2回答
COM如何选择如何编组接口?

据我所知,在COM中有三种实现封送的方式: typelib封送 代理/存根封送 对象实现IMarshal接口 那么,组件的使用者如何选择将要使用哪一种呢?它是自己决定并使用首选方式,还是调用某个内置函数并让它为其解决问题呢? 我目前的经验是:我的组件实现了一个自定义接口ICustom...

7得票2回答
.NET和COM互操作性:从.NET客户端释放COM

假设我有一个COM对象(非托管)和.NET客户端。 在释放COM对象时,是否需要从.NET客户端调用Marshal.FinalReleaseComObject方法?

78得票2回答
"注册为COM互操作"与"使程序集对COM可见"的区别。

这两个选项的真正区别是什么?据我所知: 注册COM互操作 该选项在程序集上执行regasm并将程序集作为COM组件(或者可能不是)在注册表中注册,具有所有类似COM的注册表项。 这一步会生成TLB文件吗?还有其他操作吗? 有时候我编译项目时会看到生成tlb文件,但有时却没有,为什么会这样呢...

7得票1回答
为什么 ArrayList 可以与 COM 互操作,但 IList<T> 却不能?

我注意到如果我创建一个.NET组件,公开一个ArrayList,那么这个ArrayList通过COM互操作传递,并且可以在脚本语言中使用,如VBScript。 泛型,比如IList似乎不起作用。 为什么会这样,有没有办法使一个泛型类型成功地通过COM互操作流动到脚本引擎?

32得票6回答
最快的将实时(未保存)的Excel数据与C#对象进行接口交互的方法

我想知道从一个打开的Excel工作簿读取和写入数据到C#对象的最快方法是什么。背景是我想开发一个C#应用程序,该应用程序从Excel中使用数据,用户将在Excel中使用该应用程序并单击Excel工作簿上的按钮(或执行类似操作)来启动C#应用程序。 C#应用程序将从Excel工作簿读取数据,处理...

7得票4回答
C#和VBA的Side-By-Side COM互操作

我不是在谈论从C#调用VBA COM...而是另一种方式!我想做的是在MS Access中使用VBA调用C#库,而无需注册DLL。我已经尝试了一段时间的并行互操作,但没有成功,最终我意识到mdb.manifest可能不能替代exe.manifest(这很明显,但我一直试图保持乐观)。我的问题是...

13得票2回答
在Excel VBA中进行COM互操作时,调用regasm无需管理员权限

已经在此处描述了在没有管理员权限的情况下调用regasm的解决方法: 无需regasm进行COM互操作 我正在尝试创建一个COM库,我的用户可以在Excel VBA中部署和使用而不需要管理权限。我喜欢regasm的解决方法,因为似乎人们在从Excel VBA使用无需注册的COM对象方面并不...