Как узнать свойство ProductName другой сборки? - PullRequest
1 голос
/ 01 июля 2010

У меня есть две сборки A.exe и B.exe. Оба являются сборками Windows.Forms .net 3.5. A.exe знает, что B.exe находится в том же каталоге.

Как мне узнать ProductName файла B.exe из A.exe?

Ответы [ 3 ]

8 голосов
/ 01 июля 2010

Класс FileVersionInfo полезен здесь.Атрибут [AssemblyProduct] компилируется в информационный ресурс неуправляемой версии.Этот код работает на любом .exe:

    private void button1_Click(object sender, EventArgs e) {
        var info = System.Diagnostics.FileVersionInfo.GetVersionInfo(@"c:\windows\notepad.exe");
        MessageBox.Show(info.ProductName);
    }
0 голосов
/ 01 июля 2010

Этот метод может вам помочь.

Вам нужно пространство имен "System.Reflection", чтобы использовать код ниже.


    //fileName = @"...\B.exe"; //The full path of the file you want to load

    public string GetAssemblyProductName(string fileName)
    {
        Assembly fileAssembly = null;

        try
        {
            fileAssembly = Assembly.LoadFile(fileName);//Loading Assembly from a file
        }
        catch (Exception error)
        {
            Console.WriteLine("Error: {0}", error.Message);
            return string.Empty;
        }

        if (fileAssembly != null)
        {
            string productName = fileAssembly.GetName().Name;//This is for getting Product Name
            //string productName = fileAssembly.GetName().FullName;//This is for getting Full Name
            return productName;
        }
        else 
        {
            Console.WriteLine("Error: Not valid assembly.");
            return string.Empty;
        }
    }
0 голосов
/ 01 июля 2010

Ниже приведен пример чтения информации о сборке с помощью кода.

http://www.c -sharpcorner.com / UploadFile / ravesoft / Page112282007015536AM / Page1.aspx

И вы можете загрузить определенную сборку, используя метод [Assembly.Load()][1].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...