我有一個v4.0程序集,它既在GAC(4.0位置)中,也在運行時使用,並且位於磁盤上供設計時使用。我在註冊表中設置了designtime DLL的位置,以便通過在Visual Studio中添加引用來添加它。.NET 4.0應用程序不從GAC中提取DLL
我也有一個使用此DLL的服務。我通過添加引用添加它,並且可以在引用其類時毫無問題地進行編譯。但是,當我運行我的服務時,它不會從GAC中提取DLL,並且出現服務在GACked DLL中找不到類的錯誤。我可以將「copy local」更改爲true,並且它可以正常工作,但這會影響在GAC中使用DLL的目的。
有關如何解決問題的任何建議?
我可以添加作爲參考到一個新的控制檯應用程序和訪問對象。不知道該服務的問題是什麼。
它可能不被發現的類型..但我可以引用從控制檯應用程序的類型(使用GACked組裝),所以我不知道爲什麼運行該服務時,它不能找到它。
我不確定是什麼原因造成這種情況。但是我會在運行程序時嘗試運行Process Monitor。它可能會揭示理解爲什麼無法達到DLL的線索。 –
您使用錯誤版本的gacutil.exe的一些可能性.NET 4使用不同的GAC。從Fuslogvw.exe獲得幫助 –
@Hans - 我使用的是正確的gacutil(4.0.30319.1),它位於正確的GAC中。 – zimdanen