取消注册旧版本的.net程序集

Gil*_*tal 6 .net regasm

我有一个有很多旧注册版本的程序集.

我唯一的dll是最后一个.

如何取消注册程序集的所有版本?

谢谢.

编辑:我想在运行时这样做,所以我想要像regasm -u ...或其他一些脚本解决方案.

Tim*_*ora 3

编辑:我假设您尝试删除关联的注册表项。

Regasm 可以输出 .reg 文件。

您可以使用 /regfile 选项生成包含注册表项的 .reg 文件,而不是直接对注册表进行更改。您可以通过使用注册表编辑器工具 (Regedit.exe) 导入 .reg 文件来更新计算机上的注册表。

如果您想在运行时卸载旧版本,大概您可以:

1)为当前程序集创建一个reg文件(供参考)。

2) 编写一个应用程序来检查注册表中是否有类似的键(可能具有不同的版本号?)

3) 使用 regasm 取消注册匹配的程序集。如有必要,请使用 regsvr32 卸载 COM 实体。

4) 小心地以编程方式删除这些键。

5) 注册您的新程序集。

6) gacutil 新注册的程序集(如果需要)。

我的 COM/Interop 有点生疏,所以如果这不起作用,请留下评论。

  • 然后使用脚本来执行此操作(枚举该文件夹中的文件,并对要删除的文件运行“regasm /u”。 (2认同)