SharpZipLib ~ Версия файла - PullRequest
0 голосов
/ 27 июня 2009

Как получить атрибут версии файла?

Я попробовал опору "Version", но она дает мне одинаковый номер для всех файлов

Мой код:

 while (getNextEntry)
 {

    ZipEntry entry = inStream.GetNextEntry();

    getNextEntry = (entry != null);

    if (getNextEntry)
    {
        string fileType = Path.GetExtension(entry.Name);
        string version = "unavailable"; // entry.Version.ToString();
              // etc ...
     }
  }

Ответы [ 3 ]

0 голосов
/ 27 июня 2009

Это правильное поведение. Я не знаком с SharpZipLib, но в самом формате .zip полевая версия содержит версию программного обеспечения PkZip, необходимую для извлечения этого конкретного файла (или версию программного обеспечения, создавшего этот файл). И, как обычно, весь zip-файл создается одним инструментом, поэтому такое поле будет содержать ту же версию.

Опять же, версия в zip - это не версия файла, а версия программного обеспечения, упаковавшего этот файл.

Подробнее о формате zip читайте здесь здесь (Основной источник информации о формате zip).

0 голосов
/ 28 июня 2009

Версия в записи zip - это «версия, необходимая для извлечения», и она ссылается на версию спецификации ZIP, которую должен поддерживать инструмент для распаковки, чтобы правильно извлечь эту запись. Это отличается от версии инструмента, который упаковал почтовый индекс. Кроме того, этот номер часто одинаков для всех записей в zip-архиве, но это не является обязательным требованием. Для разных записей могут быть включены разные функции - наиболее распространенными вариантами являются шифрование и шифрование zip64. Первая запись может быть незашифрованной, и в этом случае необходимая для извлечения версия будет 20. Следующая запись может использовать расширения zip64, и в этом случае необходимая для извлечения версия будет 45.

Этот номер версии наиболее интересен при создании инструмента или библиотеки, которая упаковывает или распаковывает почтовые индексы. Если вы используете zip-библиотеку, вам не нужно об этом заботиться. Библиотека должна позаботиться об этом за вас.

0 голосов
/ 27 июня 2009

Использовать FileVersionInfo.GetVersionInfo .

...