首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有人成功地将免注册的COM与.NET组件一起使用了吗?

有人成功地将免注册的COM与.NET组件一起使用了吗?
EN

Stack Overflow用户
提问于 2009-03-06 00:10:21
回答 3查看 4K关注 0票数 21

直到最近,我们还在为我们的原生和.NET COM组件愉快地使用registration-free COM。然而,我们遇到了一个奇怪的问题,我们的应用程序在windows XP SP3 (而不是vista)上开始随机崩溃,因为我们只更改了.NET程序集的版本号以从一个发布候选版本转移到另一个发布版本。(你不就是讨厌墨菲定律吗?)

经过许多人的努力和磨练,我们发现这个问题是一个在检索.NET类的信息时导致堆损坏的known bug in sxs.dll。有一个热修复程序可以使问题消失,但热修复程序不打算重新分发。

我们有点被这个免注册的COM实现中存在如此可怕的bug难住了。有没有人成功地为.NET组件使用了免注册的COM?你是如何解决这个问题的?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-04-19 10:45:39

这个问题与SxS如何计算类信息的大小有关。程序集的版本号是此信息的一部分。

由于它使用的是发布候选版本号,因此您的变通方法可能是使发布的版本号与RC发布的长度相同。

如果这对您不起作用,有一个已建立的过程来请求热修复程序的再发行权。我会联系微软的客户支持,以实现这一目标。

票数 9
EN

Stack Overflow用户

发布于 2009-03-08 05:32:23

我们对本机组件和.NET组件都使用免注册的COM。我们决定对这些组件使用固定的程序集版本号(主要是为了防止在重复使用具有动态内部版本号/*的.NET组件时弄乱注册表)。不是很理想,但我们有其他方法来确定正在使用的给定组件的版本(它们永远不会单独打补丁)。

这听起来确实是一个非常糟糕的问题!那篇知识库文章几乎让人觉得使用SxS是可选的……据我所知,这是做无注册表COM的唯一方法?

票数 4
EN

Stack Overflow用户

发布于 2012-07-20 14:09:42

仅供参考,修复程序现在可以直接下载:http://www.microsoft.com/en-us/download/details.aspx?id=27680

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

https://stackoverflow.com/questions/617253

复制
相关文章

相似问题

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