【发布时间】:2014-01-17 20:23:40
【问题描述】:
请说明如何将 Visual Studio 2005 项目 (C#) 中的 ActiveX 控件替换为更新版本。
【问题讨论】:
标签: c# visual-studio-2005 activex
请说明如何将 Visual Studio 2005 项目 (C#) 中的 ActiveX 控件替换为更新版本。
【问题讨论】:
标签: c# visual-studio-2005 activex
Visual Studio 通过检查注册表知道哪些 ActiveX 控件可用,以及在哪里可以找到它们。这基本上就是 regsvr32 所做的...为 COM 对象(包括 ActiveX 控件)创建适当的注册表项。
要升级您的控件:
【讨论】:
Eric J 的回答有效,但是对于 activeX 控件有两个引用,一个在 InterOP 的名称空间下,另一个在 AxInterOp 下。删除并重新添加 COM 引用可以更新 Interop dll,但对于 AxInterop dll,您需要将一个新控件拖到表单中,让 Visual Studio 自动为您生成。
(在某些情况下,您更新activeX控件会导致表单设计器崩溃。如果发生这种情况,您将需要使用aximp.exe手动生成AxInterop dll。)
【讨论】:
我的公司生产 ActiveX 控件。 Visual Studio 中最简单的方法是在项目上运行“干净”,然后构建。此步骤将删除包装程序集并重建它们。如果新的 ActiveX 控件有任何更改,比如新属性,则将 COM 类型转换为 .NET 类型的旧程序集的签名将不匹配,这就是您必须重建它们的原因。
【讨论】: