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 
    
  • 相关阅读:
    婚礼珠宝策划
    Mandelbrot图像
    程序的又一次测量学实际应用(程序对全站仪测量学导出数据文件的读取与修改)
    中国海域系统源代码
    利用“三角化”计算行列式快速求解程序(验证过很多题目的,绝对准确)
    ”上三角“行列式源代码(改良版,添加了几种特殊情况的特殊处理)
    中国海域系统
    Java
    Java
    【日记】12.12
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1689602.html
Copyright © 2011-2022 走看看