每日_VS Assembly resolve 程序自定义加载Dll文件
2015-11-25 14:32
531 查看
程序加载自己定义目录的DLL时,可以注册AssemblyResolve事件,来自己加载。
AppDomain.CurrentDomain.AssemblyResolve += this.OnDomainAssemblyResolve;
private Assembly OnCurrentDomainAssemblyResolve(object sender, ResolveEventArgs args)
{
return LoadAssembly(args.Name);
// System.Reflection.Assembly.LoadFile(fileFullPath);
}
根据一个目录,获取该目录下的所有dll(包含子目录)
string foldPath ;
if(!Paht.IsPatRooted(foldPath))
{
folderPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, foldPaht);
}
string[] files = Directory.GetFiles(foldPath,"*.dll",SearchOption.AllDirectories);
foreach(var file in files)
{
string assemblyName = Path.GetFileName(file);
assemblyName = assemblyName.Sustring(0, assemblyName.Length -4);
string assemblyPath = Path.GetFullPath(file);
}
AppDomain.CurrentDomain.AssemblyResolve += this.OnDomainAssemblyResolve;
private Assembly OnCurrentDomainAssemblyResolve(object sender, ResolveEventArgs args)
{
return LoadAssembly(args.Name);
// System.Reflection.Assembly.LoadFile(fileFullPath);
}
根据一个目录,获取该目录下的所有dll(包含子目录)
string foldPath ;
if(!Paht.IsPatRooted(foldPath))
{
folderPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, foldPaht);
}
string[] files = Directory.GetFiles(foldPath,"*.dll",SearchOption.AllDirectories);
foreach(var file in files)
{
string assemblyName = Path.GetFileName(file);
assemblyName = assemblyName.Sustring(0, assemblyName.Length -4);
string assemblyPath = Path.GetFullPath(file);
}
相关文章推荐
- 安卓4.4.2网络优先级和默认网络
- 多屏显示
- 命名约定
- web双机热备添加心跳检测ip的时候填了网关导致外网ip不能上网
- git file mode change
- 天声人語
- 交叉验证
- 地区省份城市sql信息
- 【Android】Activity与Fragment的生命周期的关系
- 欢迎使用CSDN-markdown编辑器
- Android学习----Activity
- 如何使用docker精简开发过程?
- iOS 运行流程
- 如何在现有应用中集成AdMob移动广告SDK
- Python学习
- IOS Runtime(一)
- C++结构体对齐
- js验证字节
- String 和List<String> 的互相转换
- 偷懒代码块之数字时钟效果