C# 如何使用同一应用程序中不同位置的同名不同版本的dll?

C# 如何使用同一应用程序中不同位置的同名不同版本的dll?,c#,dll,versioning,C#,Dll,Versioning,我们正在尝试为另一个应用程序编写几个插件。我们有两个目录,每个目录都有独立运行所需的代码,其中包含所有dll(但不是作为第三方的exe,我们无法控制它)。dll中有一些共享代码,放在每个插件目录中。当引入插件的新版本时,我们需要更改其中一个插件目录中的共享dll,但保留另一个。当我们这样做时,旧版本会中断,因为它依赖于旧版本的共享dll,但它只加载一个。有没有办法强迫它使用特定版本的dll?您应该使用latebinding方法System.Reflection对于其他查看此方法的人,我们使用具有

我们正在尝试为另一个应用程序编写几个插件。我们有两个目录,每个目录都有独立运行所需的代码,其中包含所有dll(但不是作为第三方的exe,我们无法控制它)。dll中有一些共享代码,放在每个插件目录中。当引入插件的新版本时,我们需要更改其中一个插件目录中的共享dll,但保留另一个。当我们这样做时,旧版本会中断,因为它依赖于旧版本的共享dll,但它只加载一个。有没有办法强迫它使用特定版本的dll?

您应该使用latebinding方法
System.Reflection

对于其他查看此方法的人,我们使用具有不同版本的强名称程序集。然后,应用程序的不同部分可以根据引用的Assemblyy版本使用所需的任何程序集。