我有一个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