我们的一些用户一直在抱怨我们的插件加载时发现 libmmd.dll 错误。
一些背景知识:
为方便起见,让我们调用插件DLL plugin.dll (!!!)。
我没有太多时间在受影响的用户的计算机上,但从我看到的情况来看,重新安装英特尔的可再发行组件包没有帮助,只将libmmd.dll移动到与plugin.dll相同的文件夹。
无论出现这种(突然和意外)行为的原因,我们希望能够提供针对此类问题的保护软件( DLL Hell )。
我们想要的是 plugin.dll首先在特定目录中查找库(可配置甚至更好),然后是通常的search order。
我尝试使用清单,注册表,库名称,链接器选项 ...
唯一真正有用的是用
有什么想法吗? 谢谢!
答案 0 :(得分:0)
SetDllDirectory
功能允许您添加DLL搜索顺序的文件夹路径。它将被添加到第二位,紧跟在程序文件夹本身后面。
这仅影响通过if (cboAssignTo != null)
{
GetUsers();
cboAssignTo.DataSource = GetActiveUsers(dstAuthUsrList).Tables[0];
cboAssignTo.DataBind(); // Add this statement
ListItem lstItm = new ListItem("New", "");
cboAssignTo.Items.Insert(0, lstItm);
}
加载的DLL;如果您的DLL是静态加载的,它将没有任何区别。