我有一个WPF应用程序,它在许多项目中使用各种第三方控件。在其中一个项目中,我需要将特定控件升级到最新版本,同时保留其他项目网格控件与早期版本完好无损。任何人都可以推荐文章,示例代码等,其中显示了如何做到这一点?简而言之,我需要做这样的事情:
程序集绑定是否重定向到此处需要的内容?如果是这样,它将如何设置?
答案 0 :(得分:0)
我不知道你的意思是装配绑定重定向...
我不确定这是否适合您,因为两个程序集都将具有相同的命名空间...
但您可以使用自定义AppDomain.CurrentDomain.AssemblyResolve进行尝试。当即将创建或使用class
或struct
时,将调用此事件处理程序,并且此类型的程序集当前不可用。
因此,首先必须将这些程序集移出项目的默认解析路径,以便调用此事件处理程序。当它打电话通知您需要这两个版本中的一个时,通过查看ResolveEventArgs.Name您将知道需要哪个版本。然后加载此程序集并从事件处理程序返回它。
请务必检查事件处理程序是否完全调用两次,以便加载两个版本......