我想使用Publish.GacRemove函数从 GAC 中删除程序集。但是,我不明白我应该通过什么路径作为参数。
它应该是原始 DLL 的路径(如果我在 GAC 中安装它后将其删除怎么办?)还是 GAC 中程序集的路径?
更新:
我终于使用了这些 API 包装器。
我想使用Publish.GacRemove函数从 GAC 中删除程序集。但是,我不明白我应该通过什么路径作为参数。
它应该是原始 DLL 的路径(如果我在 GAC 中安装它后将其删除怎么办?)还是 GAC 中程序集的路径?
更新:
我终于使用了这些 API 包装器。
我正在使用GacInstall
发布我的程序集,但是一旦安装到 gac 中,我有时会删除程序集的“临时”副本。
然后,如果我想从 gac 中卸载程序集,我在原始路径中没有文件。GacRemove
这导致了一个问题,因为除非我保留原始文件,否则我似乎无法获得卸载程序集的方法。
结论:是的,您需要指定原始DLL的路径。(并尽量不要稍后移动/删除它)。如果您删除它,请尝试将文件从 GAC 复制到您的原始路径,您应该可以使用GacRemove
.
我不太确定,但我相信 GacRemove 应该和 gacutil /u 做同样的事情。所以,它应该是你的 DLL 的路径。但是,它不必是同一个 DLL 文件。原件的副本就足够了,因为重要的是 DLL 的唯一 ID。