首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >COM与.NET 6的互操作

COM与.NET 6的互操作
EN

Stack Overflow用户
提问于 2022-09-21 15:47:28
回答 1查看 380关注 0票数 1

我们有一个用.NET编写的C#类库,我们试图从.NET Frameworkv2.0升级到.NET 6。使用.NET 2.0,通过导入库的.TLB的C++代码实例化/使用库。

为了使用COM使用.NET 6库,您现在必须自己向C#接口/类以及.csproj添加属性,以便在编译时创建一个名为.comhost.dll的额外DLL,然后使用regsvr32作为https://learn.microsoft.com/en-us/dotnet/core/native-interop/expose-components-to-com注册。不再支持使用类型库,但是我尝试使用这里的"dscom“实用程序https://github.com/dspace-group/dscom生成一个TLB。不幸的是,它一直失败,错误地说System.Windows.Forms是找不到的,并且花了几天努力让它工作,我放弃了。

微软的教程并没有提出最好的方法来实例化新创建的COM对象,所以我想知道这是回到调用CoCreateInstance或LoadLibrary的旧方法,还是有更好的方法?如果基于TLB的方法仍然有效,那就太好了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-06 10:13:12

只是这方面的最新消息。我成功地使用dscom实用工具生成了一个类型库。我必须提供一个名为"--asmpath“的附加参数,以指向.NET运行时程序集的位置(在本例中,是C:\Program,我的程序集依赖于此),然后它就工作了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73803662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档