编译器在尝试解析程序集引用时,程序集绑定信息的来源是什么?
创始人
2024-12-08 20:00:39
0

程序集绑定信息的来源可以是各种配置文件、代码中的属性,以及runtime中的AppDomain等。以下是几个示例:

  1. app.config文件中的配置:

  
    
      
        
        
      
    
  

在上面的示例中,程序集绑定信息来自于app.config文件中的元素。它描述了一个与程序集“MyAssembly”相关的程序集绑定信息,指定了使用新版本“3.0.0.0”来代替旧版本范围为“1.0.0.0-2.0.0.0”的版本。

  1. 代码中的属性:
[assembly: AssemblyVersion("3.0.0.0")]
[assembly: AssemblyFileVersion("3.0.0.0")]

在上面的示例中,程序集绑定信息来自于代码中的[assembly]属性。它指定了版本号为“3.0.0.0”。

  1. runtime中的AppDomain:
AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve;

private Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
{
    if (args.Name.StartsWith("MyAssembly"))
    {
        return Assembly.LoadFile(@"C:\MyAssembly.dll");
    }

    return null;
}

在上面的示例中,程序集绑定信息来自于runtime中的AppDomain。在应用程序启动时,我们可以将当前域的AssemblyResolve事件处理程序设置为“CurrentDomain_AssemblyResolve”。当需要解析一个程序集引用时,如果AppDomain无法通过搜索程序集目录来找到对应的程序集,则会触发这个事件,而事件处理方法则可以返回一个自定义程序集,从而完成程序集的动态加载。

总之,程序集绑定信息不只来自一个地方,而是来自多个来源,并且它们是有优先级的。在程序运行过程中,我们可以通过

相关内容

热门资讯

一分钟了解!陕麻圈捉老麻子有辅... 一分钟了解!陕麻圈捉老麻子有辅助的软件吗,jj斗地主有脚本吗,教你教程(有挂攻略);1、陕麻圈捉老麻...
两分钟了解!双辽麻将有挂吗,广... 两分钟了解!双辽麻将有挂吗,广西乐友麻将有挂的吗,德州教程(有挂脚本);1、这是跨平台的广西乐友麻将...
一分钟了解!开心联盟牛牛辅助器... 一分钟了解!开心联盟牛牛辅助器,上饶中至麻将有挂吗,透明挂教程(有挂总结);1、上饶中至麻将有挂吗系...
七分钟了解!胡乐麻将随意选牌软... 七分钟了解!胡乐麻将随意选牌软件,广东雀神外挂,力荐教程(有挂黑科技);1)胡乐麻将随意选牌软件辅助...
九分钟了解!中至辅助免费版,沐... 九分钟了解!中至辅助免费版,沐沐福建麻将,我来教教你(有挂机密)1、游戏颠覆性的策略玩法,独创攻略技...
四分钟了解!雀神麻将辅牌器怎么... 四分钟了解!雀神麻将辅牌器怎么下载,jj斗地主助赢神器,实用技巧(有挂ai代打)四分钟了解!雀神麻将...
4分钟了解!边锋老友内蒙麻将有... 4分钟了解!边锋老友内蒙麻将有挂吗,皮皮跑胡子有没有外挂,透明教程(有挂机密);1、任何边锋老友内蒙...
6分钟了解!中至万年麻将挂在哪... 6分钟了解!中至万年麻将挂在哪里,八闽十三张辅助,透视教程(有挂解说);1、中至万年麻将挂在哪里系统...
2分钟了解!四川游戏家园辅助器... 2分钟了解!四川游戏家园辅助器,边锋保皇辅助工具,德州论坛(有挂科普);1.四川游戏家园辅助器 ai...
五分钟了解!八仙竞技馆杭州麻将... 五分钟了解!八仙竞技馆杭州麻将攻略,闽游麻将游戏扑克有挂吗,解密教程(有挂辅助挂);1、不需要AI权...