为什么我的.NET CF应用程序找到一个DLL在同一目录下的可执行文件?我的、应用程序、可执行文件、目录下

2023-09-04 04:49:47 作者:你想咋子嘛i

我有一个已经运行完全正常了多年的.NET CF 1.1应用程序。偶尔,我得到了帮助台票,出现以下错误消息(通用):

I have a .NET CF 1.1 application that has been running perfectly fine for years. Occasionally, I get a help desk ticket with the following error message (generic):


    Method not found: 
    MethodName
    AssemblyNamespace.Class

该DLL是存在的,而且它是相同的版本,我的其他设备。什么可以改变,将使得没有找到方法。这是否错误暗示加载的程序集,还是之前打破,即使发生了什么?

The DLL is there, and it's the same version as my other devices. What could change that would make it not find the method. Does this error imply that the assembly was loaded, or did it break before that even happened?

它是否不管我如何添加在Visual Studio中引用(2003,顺便说一句)?我有复制本地设置为true,因此我提出,它需要在同一目录作为我的可执行文件的假设。

Does it matter how I added the reference in Visual Studio (2003, btw)? I have Copy Local set to true, and therefore I made the assumption that it needs to be in the same directory as my executable.

任何帮助,您可以提供的是接入点preciated。谢谢你。

Any help you can offer is appreciated. Thanks.

编辑:我相信这个DLL也是在设备,可能是不同版本的windows目录。它包含了大量的硬件特定功能(如背光,键盘状态等)

I believe this DLL is also in the windows directory of the device, possibly a different version. It contains a lot of hardware specific functions (i.e. backlight, keyboard state, etc.)

推荐答案

没有也无所谓你怎么加在Visual Studio中引用2003年(100%确定) 现在的不那么肯定:我觉得别人在手机的GAC相同的组件。因此,GAC组件被调用,而不是你的部署之一,该版本的组件的缺乏所要求的功能。

No it does not matter how you add the reference in Visual studio 2003. (100% sure) Now for the not so sure : I think that someone else has the same assembly in the GAC of the phone. So the GAC assembly gets called rather than the one you deployed and that version of the assembly lacks the requested function.