[C#] Как получить дату и время создания сборки?
От: XJess  
Дата: 17.09.10 08:34
Оценка:
Привет всем!
Возник вопрос — как получить дату и время создания сборки из C# кода. Я, конечно, понимаю, что есть класс Assembly, только я там что-то не вижу ничего путного... Или оно где-то запрятано...
Re: [C#] Как получить дату и время создания сборки?
От: QrystaL Украина  
Дата: 17.09.10 08:39
Оценка:
Здравствуйте, XJess, Вы писали:

XJ>Привет всем!

XJ>Возник вопрос — как получить дату и время создания сборки из C# кода. Я, конечно, понимаю, что есть класс Assembly, только я там что-то не вижу ничего путного... Или оно где-то запрятано...

Сборка может быть многофайловой, дату и время можно получить для конкретного файла.
Re[2]: [C#] Как получить дату и время создания сборки?
От: XJess  
Дата: 17.09.10 08:44
Оценка:
Здравствуйте, QrystaL, Вы писали:

QL>Сборка может быть многофайловой, дату и время можно получить для конкретного файла.


Блин, я об этом забыла. Спасибо. Значит, вопрос поставлен некорректно, сорри
Re[3]: [C#] Как получить дату и время создания сборки?
От: Sinix  
Дата: 17.09.10 08:57
Оценка:
Здравствуйте, XJess, Вы писали:

QL>>Сборка может быть многофайловой, дату и время можно получить для конкретного файла.


В общем случае никак. В creation time может быть что угодно, в лучшем случае — время копирования файла. Можно попытаться вытащить из AssemblyVersion (если используется автогенерация последних 2х цифр) или из подписи authenticode (самый надёжный, но и самый редкоприменимый способ).
Re[4]: [C#] Как получить дату и время создания сборки?
От: GlebZ Россия  
Дата: 17.09.10 09:07
Оценка: 12 (2)
Здравствуйте, Sinix, Вы писали:

S>В общем случае никак. В creation time может быть что угодно, в лучшем случае — время копирования файла. Можно попытаться вытащить из AssemblyVersion (если используется автогенерация последних 2х цифр) или из подписи authenticode (самый надёжный, но и самый редкоприменимый способ).

Ваще-то студия генерит аттрибуты на файл, где лежит и время создания и на какой машине генерилось. Это все можно просмотреть через свойства в проводнике. Но во первых, они необязательны и их можно скрыть, а во вторых — по крайней мере я не знаю как до них добраться через менеджед. На Unmanager получить IPropertySet пять минут.
Re[5]: [C#] Как получить дату и время создания сборки?
От: Sinix  
Дата: 17.09.10 09:36
Оценка:
Здравствуйте, GlebZ, Вы писали:

GZ>Ваще-то студия генерит аттрибуты на файл, где лежит и время создания и на какой машине генерилось. Это все можно просмотреть через свойства в проводнике. Но во первых, они необязательны и их можно скрыть, а во вторых — по крайней мере я не знаю как до них добраться через менеджед. На Unmanager получить IPropertySet пять минут.


Интересно. Может, я не там смотрю?
  Скрытый текст

(на копирайт не смотрите, это наколенная поделка, писалась за 5 минут).


Также посмотрел hexview'ом — зашит только путь к PDB.
Re[6]: [C#] Как получить дату и время создания сборки?
От: DiRTy GaRRy  
Дата: 17.09.10 09:54
Оценка: 8 (1)
Здравствуйте, Sinix, Вы писали:

S>Здравствуйте, GlebZ, Вы писали:


GZ>>Ваще-то студия генерит аттрибуты на файл, где лежит и время создания и на какой машине генерилось. Это все можно просмотреть через свойства в проводнике. Но во первых, они необязательны и их можно скрыть, а во вторых — по крайней мере я не знаю как до них добраться через менеджед. На Unmanager получить IPropertySet пять минут.


S>Интересно. Может, я не там смотрю?

S>
  Скрытый текст
S>
S>(на копирайт не смотрите, это наколенная поделка, писалась за 5 минут).


S>Также посмотрел hexview'ом — зашит только путь к PDB.


В свойствах проводника нет, но само по себе оно есть (скриншот FAR-го плагина NTFS File Information):
╔═════════════════════════════ File version info ═════════════════════════════╗
║ File version        2010.2.903.40                                           ║
║ Product version     2010.2.903.40                                           ║
║ File OS             VOS__WINDOWS32                                          ║
║ File type           VFT_DLL                                                 ║
║ Machine             I386                                                    ║
║ OS version          4.0                                                     ║
║ Subsystem           WINDOWS_CUI                                             ║
║ Characteristics     EXECUTABLE_IMAGE, 32BIT_MACHINE, DLL                    ║
║ DLL characteristics DYNAMIC_BASE, NX_COMPAT, NO_SEH, TERMINAL_SERVER_AWARE  ║
║ Link time           03.09.2010 17:08:15                                     ║
╟─────────────────────────────────────────────────────────────────────────────╢
║ Language            Language Neutral                                        ║
║ Comments            Telerik RadControls for WPF                             ║
║ Company name        Telerik                                                 ║
║ File description    Telerik.Windows.Controls                                ║
║ File version        2010.2.0903.40                                          ║
║ Internal name       Telerik.Windows.Controls.dll                            ║
║ Legal copyright     Copyright © Telerik 2002-2010                           ║
║ Original filename   Telerik.Windows.Controls.dll                            ║
║ Product name        RadControls for WPF                                     ║
║ Product version     2010.2.0903.40                                          ║
╚═════════════════════════════════════════════════════════════════════════════╝
Ы?
Re[7]: [C#] Как получить дату и время создания сборки?
От: Dzirt2005  
Дата: 17.09.10 11:39
Оценка:
Здравствуйте, DiRTy GaRRy, Вы писали:

DG>Здравствуйте, Sinix, Вы писали:


[skip]

S>>Также посмотрел hexview'ом — зашит только путь к PDB.


DG>В свойствах проводника нет, но само по себе оно есть (скриншот FAR-го плагина NTFS File Information):


Такое поле находится в заголовке PE файла — ссылка, Table 2. IMAGE_FILE_HEADER Fields, поле TimeDateStamp
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.