本机DLL解析P / Invoke和用户期望

时间:2012-02-29 06:36:31

标签: c# .net pinvoke

我编写了一个.NET程序集,它使用P / Invoke来公开本机第三方库的功能。但是,我没有用我的程序集分发这个库。这意味着用户有责任通过任何所需方式提供库。这引出了我的问题:

作为具有这种情况经验的图书馆作者或该程序集的潜在用户,在此用例中解决DLL位置的常见用户期望是什么?

  • 默认的Windows DLL搜索顺序是否足够? “如果它爆炸了,它会爆炸。他们应该阅读文档。”
  • 我是否应该在运行时自动将%PATH%扩展到公共库安装位置以尝试找到它或者至少增加机会?我不是真的很喜欢这个,因为我们正在改变幕后的状态。
  • 我是否应该提供某种形式的配置设置以允许用户指定位置,然后手动拨打LoadLibrary

1 个答案:

答案 0 :(得分:0)

根据评论,用户是开发人员:

我会使用约定优于配置...基本上默认Windows DLL搜索顺序...加上需要配置的情况的配置设置...如果配置该设置它优先...