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 
    
  • 相关阅读:
    ASP.NET常用的三十三种代码
    asp.net获取IP地址
    Inside Microsoft Sql Server 2005 TSQL Programming 学习笔记
    动态SQL与SQL注入(一)动态SQL
    (二)SQL 注入
    WCF 安全
    C# 运算符重载和 implicit关键字
    分页那回事
    thinking
    Moss css
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1689602.html
Copyright © 2011-2022 走看看