ikvm-fork/tools/asmref.cs

39 строки
925 B
C#

using System;
using System.IO;
using System.Reflection;
using System.Text;
class asmref
{
static void Main(string[] args)
{
foreach(string s in args)
{
AssemblyName asm;
if(File.Exists(s))
{
asm = Assembly.LoadFile(new FileInfo(s).FullName).GetName();
}
else
{
asm = Assembly.LoadWithPartialName(s).GetName();
}
Console.WriteLine(".assembly extern {0}", asm.Name);
Console.WriteLine("{");
if(asm.GetPublicKeyToken() != null)
{
StringBuilder sb = new StringBuilder();
foreach(byte b in asm.GetPublicKeyToken())
{
sb.AppendFormat("{0:X2} ", b);
}
Console.WriteLine(" .publickeytoken = ({0})", sb.ToString());
}
Version v = asm.Version;
Console.WriteLine(" .ver {0}:{1}:{2}:{3}", v.Major, v.Minor, v.Build, v.Revision);
Console.WriteLine("}");
}
}
}