[英]Does GAC conflict with the Registry for Assembly Loading?
我有一個從 C# 項目生成的 DLL。 然后我通過regasm
注冊它,以便可以在多個舊版 VB 腳本中使用該庫。
最近我創建了一個新項目(C# 控制台應用程序),它將重用原始庫的某些模塊化方面,並且根據良好的編程實踐,將庫添加到 GAC 以供此項目和任何未來項目重用是有意義的。
我發現它一開始玩得很好,但是在服務器重新啟動后,VB 腳本崩潰並燒毀,聲稱它們無法創建庫中定義的類型之一的 object。
修復涉及從 GAC 中刪除庫並通過regasm
重新注冊庫。
regasm
完成了它的工作。GAC_MSIL
下,據我所知,它們應該在哪里。任何想法為什么會發生這種情況?
我猜你沒有更新 GUID 和/或區分新庫的完全限定類型名稱,當你使用regasm
安裝它時,注冊表中的舊條目被覆蓋。 再次注冊舊庫已經覆蓋了新庫的注冊表,但是由於您沒有通過 COM 使用它並沒有影響它,現在腳本再次工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.