Grz*_*nio 6 .net c# .net-assembly
我们从第三方获得一个集会,例如Example.dll.最近供应商介绍了一些重大变化,但没有改变装配的名称.我可以将新装配重命名为例如Example2.dll并使用反射动态加载它吗?它没有强烈的名字.
是的,您可以重命名它,因为它不是强命名的,但是,这不会更改程序集使用的命名空间,并且如果它们加载在同一 AppDomain 中,它将与其他程序集发生冲突。
假设您想同时使用这两个版本,我能想到的唯一解决方案是将其加载到单独的 AppDomain 中并使用代理进行调用。不过,我不会详细说明如何做到这一点,因为它可能会变得非常复杂。我的建议是,向供应商反馈以纠正破坏代码,或者为您提供重命名的程序集。
以下是帮助您入门的参考:http://msdn.microsoft.com/en-us/library/yk22e11a (v=vs.110).aspx