应该将什么作为AssemblyPath参数传递给Publish.GacRemove函数?

时间:2020-03-05 18:48:12  来源:igfitidea点击:

我想使用Publish.GacRemove函数从GAC中删除程序集。但是,我不明白我应该通过哪个路径作为参数。

它应该是原始DLL的路径(如果我将其安装在GAC中之后将其删除吗?)还是GAC中的程序集的路径?

更新:

我终于使用了这些API包装器。

解决方案

回答

我对此不太确定,但我相信GacRemove应该执行与gacutil / u相同的操作。因此,它应该是DLL的路径。但是,它不必是相同的DLL文件。原始副本就足够了,因为重要的是DLL的uniqueID。

回答

我正在使用GacInstall发布我的程序集,但是一旦安装到gac中,我有时会删除程序集的临时副本。

然后,如果我想从gac卸载程序集,则原始路径中没有文件。这引起了一个问题,因为除非我保留原始文件,否则我似乎无法获得GacRemove方法来卸载程序集。

结论:是的,我们需要指定原始DLL的路径。 (并尝试以后不要移动/删除它)。如果删除了该文件,请尝试将文件从GAC复制到原始路径,并且应该能够使用" GacRemove"将其卸载。