首页 > TAG信息列表 > assembly-resolution
c#-加载任何版本的静态引用的.NET程序集
我正在使用从其他产品使用.NET程序集的工具.少数程序集在我的项目中被静态引用(使用“添加引用”),因为我需要在代码中实际使用这些类型.但是我从产品的安装目录动态加载了许多其他程序集,并使用反射来动态实例化我需要的任何对象. 我不需要为我依赖的产品的每个可能版本重新编译并如何从自定义目录(包括其依赖项)动态加载程序集?
我发现以下代码可从自定义位置动态加载dll: private void Form1_Load(object sender, EventArgs e) { AppDomain currentDomain = AppDomain.CurrentDomain; currentDomain.AssemblyResolve += new ResolveEventHandler(MyResolveEventHandler); } private Assembly MyResc# – 加载程序集和版本控制
我正在考虑通过提供一些预定义的接口来为现有应用程序添加一些可扩展性,这些接口可以通过在特定位置删除并由应用程序拾取的“插件”来实现.在更新和更频繁地部署插件时,应用程序的核心很少得到更新. 所以基本上,有这样的设置: // in core assembly (core.dll) public interface IRc# – 多个Assembly.Load(Byte []),相同的实例或泄漏?
当我使用包含相同程序集的Byte数组多次调用Assembly.Load(Byte [])时会发生什么? 我是否会为每次通话获得相同的汇编实例? 在app域中多次加载相同的程序集???解决方法:每次调用都会得到一个新的Assembly对象,读取documentation,结尾附近有一个注释: “请注意,此方法重载始终会创建一个