我认为不可能将您的程序配置为使用 1.2.* 版本而没有其他版本。除非您自己为此编写代码。另一种可能性是不更改 C++ dll 的版本标记,但您似乎不想这样做。
避免版本依赖性的解决方案是使用 dllimport。您可以使用它加载任何用 C++ 编写的 dll。它没有版本依赖。请参阅 msdn 中的示例和最后的链接:
using System;
using System.Runtime.InteropServices;
class Example
{
// Use DllImport to import the Win32 MessageBox function.
[DllImport("user32.dll", CharSet = CharSet.Unicode)]
public static extern int MessageBox(IntPtr hWnd, String text, String caption, uint type);
static void Main()
{
// Call the MessageBox function using platform invoke.
MessageBox(new IntPtr(0), "Hello World!", "Hello Dialog", 0);
}
}
MSDN 中的描述