DLL引用问题 项目里引用到EXChange 里面的一个CDOEXM.dll,引用的时候“未能添加对CDOEXM.dll的引用,请确保此文可访问性并且是一个有效的程序集或Com组件”!请问要怎么把它弄成COM组件啊! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你怎么引用的,不是随便一个dll就可以添加到引用 是C#写的 dll 吗,其他语言麻烦点 C#引用自己编译的dll文件的话就比较简单了 看DLL是用什么技术写的,如果是native api的话不能直接引用,但可以使用p/invoke 1、如果是C# 的DLL 右键 你项目 下的 “引用”在浏览里 添加 然后 using 就行了如果是C++等 生成的DLL出来 在引用里添加 外,程序里就不是用using 来调用了例如:[DllImport("user32.dll", EntryPoint="MessageBox")] public static extern int MessageBox(int hWnd, String strMessage, String strCaption, uint uiType);DllImport具有五个命名参数: a、CallingConvention 参数指示入口点的调用约定。如果未指定 CallingConvention,则使用默认值 CallingConvention.Winapi。 b、CharSet 参数指示用在入口点中的字符集。如果未指定 CharSet,则使用默认值 CharSet.Auto。 c、EntryPoint 参数给出 dll 中入口点的名称。如果未指定 EntryPoint,则使用方法本身的名称。 d、ExactSpelling 参数指示 EntryPoint 是否必须与指示的入口点的拼写完全匹配。如果未指定 ExactSpelling,则使用默认值 false。 e、PreserveSig 参数指示方法的签名应当被保留还是被转换。当签名被转换时,它被转换为一个具有 HRESULT 返回值和该返回值的一个名为 retval 的附加输出参数的签名。如果未指定 PreserveSig,则使用默认值 true。 f、SetLastError 参数指示方法是否保留 Win32"上一错误"。如果未指定 SetLastError,则使用默认值 false。使用时注意C#与C++之间的类型映射Wtypes.h 中的非托管类型 非托管C语言类型 托管类名 说明HANDLE void* System.IntPtr 32 位BYTE unsigned char System.Byte 8 位SHORT short System.Int16 16 位WORD unsigned short System.UInt16 16 位INT int System.Int32 32 位UINT unsigned int System.UInt32 32 位LONG long System.Int32 32 位BOOL long System.Int32 32 位DWORD unsigned long System.UInt32 32 位ULONG unsigned long System.UInt32 32 位CHAR char System.Char 用 ANSI 修饰。LPSTR char* System.String 或 System.StringBuilder 用 ANSI 修饰。LPCSTR Const char* System.String 或 System.StringBuilder 用 ANSI 修饰。LPWSTR wchar_t* System.String 或 System.StringBuilder 用 Unicode 修饰。LPCWSTR Const wchar_t* System.String 或 System.StringBuilder 用 Unicode 修饰。FLOAT Float System.Single 32 位DOUBLE Double System.Double 64 位 [求助]C#如何写嵌套事务 正则表达式问题 2个子页面互相控制的问题 一解决就结贴 VS2008调试,没有为该文档加载任何符号 c# winform 里只有combobox没有dropdownlist吗?设置不了选择项。。 如何执行好asp:button的事件后打开模态框,当关闭模态框再刷页面 不要这功能行不行?问题100分,顶者分50,谢谢! 新手超简单问题 如何存储Bitmap对象到DataSet里 用vs.net没法建c# web应用程序 大家好!小弟有个问题,OpenFileDialog这个类我指定了目录但是,程序其他的地方我获取应用程序路径就是这个路径了不知道为什么? 目录问题
右键 你项目 下的 “引用”在浏览里 添加
然后 using 就行了如果是C++等 生成的DLL
出来 在引用里添加 外,程序里就不是用using 来调用了例如:[DllImport("user32.dll", EntryPoint="MessageBox")]
public static extern int MessageBox(int hWnd, String strMessage, String strCaption, uint uiType);DllImport具有五个命名参数: a、CallingConvention 参数指示入口点的调用约定。如果未指定 CallingConvention,则使用默认值 CallingConvention.Winapi。 b、CharSet 参数指示用在入口点中的字符集。如果未指定 CharSet,则使用默认值 CharSet.Auto。 c、EntryPoint 参数给出 dll 中入口点的名称。如果未指定 EntryPoint,则使用方法本身的名称。 d、ExactSpelling 参数指示 EntryPoint 是否必须与指示的入口点的拼写完全匹配。如果未指定 ExactSpelling,则使用默认值 false。 e、PreserveSig 参数指示方法的签名应当被保留还是被转换。当签名被转换时,它被转换为一个具有 HRESULT 返回值和该返回值的一个名为 retval 的附加输出参数的签名。如果未指定 PreserveSig,则使用默认值 true。 f、SetLastError 参数指示方法是否保留 Win32"上一错误"。如果未指定 SetLastError,则使用默认值 false。
使用时注意C#与C++之间的类型映射Wtypes.h 中的非托管类型 非托管C语言类型 托管类名 说明
HANDLE void* System.IntPtr 32 位
BYTE unsigned char System.Byte 8 位
SHORT short System.Int16 16 位
WORD unsigned short System.UInt16 16 位
INT int System.Int32 32 位
UINT unsigned int System.UInt32 32 位
LONG long System.Int32 32 位
BOOL long System.Int32 32 位
DWORD unsigned long System.UInt32 32 位
ULONG unsigned long System.UInt32 32 位
CHAR char System.Char 用 ANSI 修饰。
LPSTR char* System.String 或 System.StringBuilder 用 ANSI 修饰。
LPCSTR Const char* System.String 或 System.StringBuilder 用 ANSI 修饰。
LPWSTR wchar_t* System.String 或 System.StringBuilder 用 Unicode 修饰。
LPCWSTR Const wchar_t* System.String 或 System.StringBuilder 用 Unicode 修饰。
FLOAT Float System.Single 32 位
DOUBLE Double System.Double 64 位