我有两个(或更多)版本的本机C ++库,其文件路径已添加到PATH变量中。我的.NET应用程序使用DLLIMPORT属性来引用本机dll中的方法。问题是.NET应用程序中的DLLIMPORT选择了它找到的任何本地库FIRST,因此我的同一.NET应用程序的两个不同版本最终使用相同版本的本机dll。
[DllImport("MyNative.dll")]
private static extern int SomeFunc();
我想知道是否有办法告诉DLLIMPORT选择特定版本的原生dll或者使用某些事件来引导它到正确的dll?使用DLLIMPORT中的完整路径似乎不是一个解决方案。