zoukankan      html  css  js  c++  java
  • 再谈CLR:如何通过代码获取程序集所引用的程序集信息

    上一篇我们提到过程序集引用的问题,通过反编译工具可以很方便地看到他们的引用关系。如下图所示

    image

    那么是否有办法在代码中进行查询得到这些信息呢?答案是肯定的,我们可以通过下面的简单代码就实现了

    我们主要用到了反射技术

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Reflection;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                Assembly assembly = Assembly.GetExecutingAssembly();
                Console.WriteLine("当前程序集所引用的程序集包括:");
    
                foreach (var item in assembly.GetReferencedAssemblies())
                {
    
                    Console.WriteLine("名称:{0},版本:{1},公钥标记:{2}",
                        item.Name,
                        item.Version,
                        Byte2String(item.GetPublicKeyToken()));
                }
    
                Console.Read();
            }
    
            static string Byte2String(byte[] token) {
                StringBuilder sb = new StringBuilder();
                for (int i = 0; i < token.GetLength(0); i++)
                {
                    sb.Append(string.Format("{0:x}",token[i]));
                }
                return sb.ToString();
            }
    
    
        }
    }
     
    image 
    
  • 相关阅读:
    problems_springmvc
    skills_eclipse
    problems_azkaban
    CentOS7与CentOS6的不同
    2021暑期cf加训2
    2021牛客暑期多校训练营4
    2021牛客暑期多校训练营3
    2021暑期cf加训1
    2021牛客暑期多校训练营2
    10.git rm 移除文件
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1689602.html
Copyright © 2011-2022 走看看