在单个AppDomain(.NET DLL插件)中加载的同一程序集的多个版本

问题描述 投票:0回答:1

我正在WPF中为第三方软件(Autodesk Revit)开发.NET插件。我正在使用MahApps.Metro库,问题是Revit加载的另一个插件也引用了该库,但是版本不同,因此应用程序中的控件无法正确呈现。由于这是DLL插件,因此无法修改app.config并使用绑定重定向。相反,我已经实现了AppDomain.CurrentDomain.AssemblyResolve的处理程序,并通过反射以正确的版本加载MahApps.Metro,但是我的应用程序仍然从另一个插件引用的程序集中为控件选择样式:(如何避免这种行为?

c# .net wpf revit-api revit
1个回答
0
投票

如何避免这种行为?

不要这样做。这里没有魔术,框架只会加载程序集的一个版本,这就是绑定重定向所给的版本。

因为这是DLL插件,所以我无法修改app.config并使用绑定重定向

当然可以,加载您的库的可执行文件具有.config文件,您可以根据需要进行编辑。

尽管我想知道实际上是否真的需要您首先使用该库的其他版本。

© www.soinside.com 2019 - 2024. All rights reserved.