.net core 通过自包含部署启用ComHosting

.net core 通过自包含部署启用ComHosting,.net-core,.net-5,.net Core,.net 5,我有一个WPF应用程序,我创建了一个COM包装器来公开一些内部功能,这样我们就可以从Excel VBA脚本与它对话。在我尝试安装之前,它工作得非常好。当我发布以与安装程序打包时,我发布为自包含的,因此用户不需要安装运行时。如果我这样做,comhost dll将不会注册。我得到0x8000883或0x80008093错误 因此,我认为我的选择是: 不要使用自给自足(不喜欢这个想法) 单独打包COM包装,不包含自包含,并使主应用保持自包含。并非所有用户都会使用此包装器,但必须安装运行时并不好 是否为

我有一个WPF应用程序,我创建了一个COM包装器来公开一些内部功能,这样我们就可以从Excel VBA脚本与它对话。在我尝试安装之前,它工作得非常好。当我发布以与安装程序打包时,我发布为自包含的,因此用户不需要安装运行时。如果我这样做,comhost dll将不会注册。我得到0x8000883或0x80008093错误

因此,我认为我的选择是:

  • 不要使用自给自足(不喜欢这个想法)
  • 单独打包COM包装,不包含自包含,并使主应用保持自包含。并非所有用户都会使用此包装器,但必须安装运行时并不好
  • 是否为包装器使用另一个lang/framework
  • 当它是独立的时,也许有一种注册的方法
  • 有人有什么建议吗


    谢谢

    这是一个不受支持的场景。在:

    不支持COM组件的自包含部署。仅支持依赖于框架的COM组件部署

    原因解释如下:

    这是特别禁止的,因为除非一个应用程序中只有一个托管COM服务器,否则很难取得成功。这里的原因与单个进程中可能有多个CoreCLR实例有关


    这是一个不受支持的场景。在:

    不支持COM组件的自包含部署。仅支持依赖于框架的COM组件部署

    原因解释如下:

    这是特别禁止的,因为除非一个应用程序中只有一个托管COM服务器,否则很难取得成功。这里的原因与单个进程中可能有多个CoreCLR实例有关


    @HansPassant哎呀,修正了这是一个很短的页面,但是,我仍然没有滚动到底部阅读整个内容!:)看来我要用的不是.Net了。Thanks@Jonesie我作弊了。我从谷歌搜索错误号开始,发现了Github的问题,它说这是不受支持的。在那之后,我用谷歌搜索pull请求中的一个短语来查找实际的文档页面,以检查自问题解决以来是否有任何变化closed@HansPassant哎呀,修正了这是一个很短的页面,但是,我仍然没有滚动到底部阅读整个内容!:)看来我要用的不是.Net了。Thanks@Jonesie我作弊了。我从谷歌搜索错误号开始,发现了Github的问题,它说这是不受支持的。在那之后,我用谷歌搜索了pull请求中的一个短语来查找实际的文档页面,以检查问题解决后是否有任何变化