积极答复者
.NET程序生成后,怎么指定DLL的位置?

问题
答案
-
Hi saxiao,
指定加载dll的路径有两种方法:
1. 设置环境变量还有注册表. 这种方法局限性在于可能在目标机器上没有权限来做这些操作.
2. 使用SetDllDirectory方法来设置加载的路径, 不过这种方法只对延迟加载有效, 即用LoadLibrary方法去加载才会起作用.
所以这个方法不好用, 如果是用LoadLibrary方法加载的话直接指定dll的完整路径. 如果不是, 那就只能接受dll和executable在同一路径的结果了.
可以参看这里的讨论: http://social.msdn.microsoft.com/Forums/en/vcgeneral/thread/0ba82809-add0-43c7-930b-d1cdcadafd84.
祝你快乐每一天,
Leo Liu [MSFT]
MSDN Community Support | Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
- 已编辑 Leo Liu - MSFTModerator 2011年11月2日 9:14
- 已标记为答案 Leo Liu - MSFTModerator 2011年11月7日 4:29
-
dear
请参考以下
http://www.dotblogs.com.tw/yc421206/archive/2009/04/16/8030.aspx
秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/- 已标记为答案 Leo Liu - MSFTModerator 2011年11月7日 4:29
全部回复
-
Hi saxiao,
指定加载dll的路径有两种方法:
1. 设置环境变量还有注册表. 这种方法局限性在于可能在目标机器上没有权限来做这些操作.
2. 使用SetDllDirectory方法来设置加载的路径, 不过这种方法只对延迟加载有效, 即用LoadLibrary方法去加载才会起作用.
所以这个方法不好用, 如果是用LoadLibrary方法加载的话直接指定dll的完整路径. 如果不是, 那就只能接受dll和executable在同一路径的结果了.
可以参看这里的讨论: http://social.msdn.microsoft.com/Forums/en/vcgeneral/thread/0ba82809-add0-43c7-930b-d1cdcadafd84.
祝你快乐每一天,
Leo Liu [MSFT]
MSDN Community Support | Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
- 已编辑 Leo Liu - MSFTModerator 2011年11月2日 9:14
- 已标记为答案 Leo Liu - MSFTModerator 2011年11月7日 4:29
-
dear
请参考以下
http://www.dotblogs.com.tw/yc421206/archive/2009/04/16/8030.aspx
秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/- 已标记为答案 Leo Liu - MSFTModerator 2011年11月7日 4:29