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