我想使用Publish.GacRemove函數從GAC中刪除程序集。但是,我不明白我應該通過什麼樣的道路作爲論據。我應該將什麼路徑作爲AssemblyPath參數傳遞給Publish.GacRemove函數?
它應該是原始DLL的路徑(如果在將它安裝到GAC中後將其刪除,該怎麼辦?)或GAC中程序集的路徑?
UPDATE:
我終於用these API wrappers。
我想使用Publish.GacRemove函數從GAC中刪除程序集。但是,我不明白我應該通過什麼樣的道路作爲論據。我應該將什麼路徑作爲AssemblyPath參數傳遞給Publish.GacRemove函數?
它應該是原始DLL的路徑(如果在將它安裝到GAC中後將其刪除,該怎麼辦?)或GAC中程序集的路徑?
UPDATE:
我終於用these API wrappers。
我正在使用GacInstall
來發布我的程序集,但是一旦安裝到gac中,我有時會刪除程序集的臨時副本。
然後,如果我想從gac卸載程序集,我沒有原始路徑中的文件。這是導致一個問題,因爲我似乎無法得到GacRemove
方法卸載程序集,除非我保留原始文件。
結論:是的,您需要指定原始DLL的路徑。 (並且稍後嘗試不移動/刪除它)。如果刪除它,請嘗試將該文件從GAC複製到原始路徑,並且應該可以使用GacRemove
將其卸載。
我並不完全確定,但我相信GacRemove應該和gacutil/u做同樣的事情。所以,它應該是你的DLL的路徑。但它不一定是相同的DLL文件。原來的副本應該足夠了,因爲重要的是DLL的uniqueID。
uniqueID是否隨每個編譯/版本而變化? – 2008-09-09 20:13:24
所以我需要完全相同的DLL(相同版本?相同的構建?),對嗎? – 2008-09-09 20:14:22