C#添加引用不成功,提示:
未能添加对HD.dll的引用。请确保此文件可访问并且是一个有效的程序集或COM组件
我需要用到这个Dll文件中的接口函数
非.NET的dll需要DllImport。
C#添加引用需要这个dll本身是.net的程序集,或者是一个COM组件。
如果是一个标准的C导出Dll,那么需要用DllImport导入函数,参考互操作内容
实际调用类似于这样的代码
public class MPwdMngAPI
{
[DllImport("PwdMng.dll", CharSet = CharSet.Ansi, EntryPoint = "SetUserFirstLogin")]
public extern static bool ResetUserToFirstUse(String username);
[DllImport("PwdMng.dll", CharSet = CharSet.Ansi, EntryPoint = "ChangePassword")]
public extern static int ChangePassword(String userName, String oldPwd, String newPwd);
补充一点:SetUserFirstLogin和ChangePassword是C++ dll的导出API
#ifdef PWDMNG_EXPORTS
#define PWDMNG_API __declspec(dllexport)
#else
#define PWDMNG_API __declspec(dllimport)
#endif
#ifdef __cplusplus
extern "C" {
#endif
PWDMNG_API BOOL SetUserFirstLogin(const char* username, BOOL isFirstLogin);
PWDMNG_API int ChangePassword(const char* username, const char* oldPwd, const char* newPwd);
#ifdef __cplusplus
}
#endif