用DLLImport和Reference导入一个dll到工程里有什么不同吗? 如题:
经常看到用DLLImport导入一些dll,如[DLLImport(xxxx.dll)]
但也有一些用鼠标右键点Reference,在弹出菜单中选择Add Reference,窗口中选择dll这两个有什么不同吗?谁能解释一下,谢谢!
经常看到用DLLImport导入一些dll,如[DLLImport(xxxx.dll)]
但也有一些用鼠标右键点Reference,在弹出菜单中选择Add Reference,窗口中选择dll这两个有什么不同吗?谁能解释一下,谢谢!
解决方案 »
- checkbox为啥 我的状态设置为true了以后还是没有小勾 在小方框里只有绿色
- C# 编译最佳化选项有没有高级选项可选
- VS2010服务器资源管理器里面怎么不能新建存储过程与视图了
- C# Windows下程序单步调试可以运行,但直接运行就出错(没有用到多线程)急!
- 谁对byte,bit,BitArray这样的位操作比较熟悉的进来帮帮我
- 请问下 怎么在.net 2005 的 form窗体中 嵌入一个flash?
- 是CollectionBase怪呢?还是我菜呢???????
- 关于注册表或配置文件的问题
- C#中的窗体关闭问题(送分-100分)
- 新手求教!一个感到困惑的C#Web应用程序问题!
- 我恢复数据库的代码为什么不好用呢?
- C#中httpwebrequest和httpwebresponse取回来的cookie......
DLLImport系統的API,一般不是C#寫的,是C/C++寫的。
而COM 组件和kernel32.dll等以前的动态连接库是生成的二进制本地代码
所以必须进行平台调用
而COM组件也不是全部都可以吧
COM 组件遵循标准写的,所以.net可以用固定的机制调用
而普通的.dll二进制动态连接库因为写法没有限制
所以只能自己声明了。
用.net的语言说的话
.net中所有CTS类型都素类型安全的,
而.net平台的CTS以外的类型都素不安全类型
所以你在.net中要调用以前你使用不安全类型写的动态连接库的话就必须使用不安全类的平台调用,也就素你说的DllImport,建议你查一下MSDN关于平台调用方面的文章以上內容摘自http://topic.csdn.net/t/20060305/13/4593639.html