我的程序集中有很多旧的注册版本。
我唯一的dll是最后一个。
如何取消注册程序集的所有版本?
感谢。
编辑:我想在运行时这样做,所以我想要一些像regasm -u ...或其他一些脚本解决方案。
答案 0 :(得分:3)
编辑:我假设您尝试删除了相关的注册表项。
Regasm可以输出.reg文件。
您可以使用/ regfile选项 生成一个包含的.reg文件 注册表项而不是 直接更改到注册表。您 可以更新计算机上的注册表 通过导入.reg文件 注册表编辑器工具(Regedit.exe)。
如果你想在运行时卸载旧版本,可能你可以:
1)为当前程序集创建一个reg文件(供参考)。
2)编写一个应用程序,检查注册表中是否有类似的密钥(可能有不同的版本号?)
3)使用regasm取消注册匹配的程序集。如有必要,请使用regsvr32卸载COM实体。
4)小心地以编程方式删除这些键。
5)注册新装配。
6)gacutil新注册的程序集(如果需要)。
我的COM / Interop有点生疏,所以如果这不起作用请发表评论。