c#如何在windows mobile下动态加载第三方(.net)的.dll

本文关键字:第三方 net dll 加载 动态 windows mobile | 更新日期: 2023-09-27 18:04:01

我的公司有一个商业问题我们有一个Wavenis产品的项目,他们给了我们SDK (DLL文件),这个应用程序在紧凑的框架3.5 Windows mobile 6.1下运行我通常使用DLL文件作为1-右击参考文献2-添加参考3-浏览并选择所需的DLL4-将dll复制到输出

现在公司不需要让SDK可用
我在谷歌上搜索了一下,然后我就用上了使用System.Reflection;Assembly classLibrary1 = null;classLibrary1 = Assembly.LoadFrom(filename);foreach (classlibrary . gettypes ())if (type.GetInterfaces() != null)返回Activator.CreateInstance(type)作为iclass;但这并不适合我,如果有人有任何想法,请帮助我

我已经读过这个线程紧凑框架c#动态加载DLL,但没有帮助我

c#如何在windows mobile下动态加载第三方(.net)的.dll

我想问的第一个问题是为什么只有Add References不够?如果您在设计时拥有该文件,则应该使用该机制。

我的第二个问题是"it doesn't work"是什么意思?你得到一个例外吗?什么类型的异常?什么信息?

通常这些都在你问题的"评论"下面,但我很确定我知道答案。

如果你使用"添加引用",但Studio失败或给你一个错误消息,这可能是因为DLL是一个本机(即不是。net程序集)DLL。尝试动态加载它也会失败(IIRC与BadImageFormatException)。

你不能只是添加。net引用(通过Studio或代码)到本地DLL,这通常是第三方硬件供应商提供的。如果它是一个本机DLL,您可以使用P/Invoke调用到库中,前提是它具有公共的,未修改的,c导出的(例如。