Как получить версии ссылок на проекты? - PullRequest
1 голос
/ 19 августа 2010

Я использую C # и хочу получить версии некоторых библиотек DLL, которые есть в ссылках на мои проекты. Я знаю, что могу получить его, просто предположив, что файл находится в текущей папке, однако это не всегда так. Есть ли более надежный способ сделать это?

Ответы [ 2 ]

5 голосов
/ 19 августа 2010

Получение информации о версии файла

Например,

AssemblyName[] asmNames = asm.GetReferencedAssemblies();
foreach (AssemblyName nm in asmNames)
{
    Console.WriteLine(nm.FullName);
}


private bool GetReferenceAssembly(Assembly asm)
      {
               try
               {
                   AssemblyName[] list = asm.GetReferencedAssemblies();
                   if (list.Length > 0)
                   {
                       AssemblyInformation info = null;
                       _lstReferences = new List();
                        for (int i = 0; i < list.Length; i++)
                        {
                            info = new AssemblyInformation();
                            info.Name = list[i].Name;
                            info.Version = list[i].Version.ToString();
                            info.FullName = list[i].ToString();

                            this._lstReferences.Add(info);
                        }
                    }
                }
                catch (Exception err)
                {
                    this._errMsg = err.Message;
                    return false;
                }

                return true;
       }
0 голосов
/ 19 августа 2010

Вы можете использовать следующий код для получения местоположения сборки, содержащей указанный класс

System.Reflection.Assembly.GetAssembly(typeof(SpecifiedClass)).Location
...