Для чего используется AssemblyFileVersion в C#?

Мне нравится ошибка как возвращаемое значение путь. Если Вы разрабатываете API, и Вы хотите использовать свою библиотеку, максимально безболезненную, думают об этих дополнениях:

  • хранилище все возможные состояния ошибки в одном typedef'ed перечислении и использовании это в Вашем lib. Только возвратите ints или еще хуже, смешайте ints или различные перечисления с кодами возврата.

  • обеспечивают функцию, которая преобразовывает ошибки во что-то человекочитаемое. Может быть простым. Просто ошибочное перечисление в, символ константы*.

  • я знаю, что эта идея делает многопоточное использование немного трудным, но было бы хорошо, если прикладной программист может установить глобальный ошибочный обратный вызов. Тем путем они смогут поместить точку останова в обратный вызов во время сессий поиска ошибки.

Hope это помогает.

11
задан Georg Fritzsche 20 May 2010 в 18:58
поделиться

5 ответов

AssemblyVersion используется загрузчиком классов .NET и определяет версию .NET сборки. AssemblyFileVersion представляет версию файла, содержащуюся в стандартном блоке VERSION_INFO файла Windows PE ... другими словами, она представляет версию файла, как показано в диалоговом окне свойств файла.

Если вы опустите AssemblyFileVersion, компилятор установит ее по умолчанию должно быть таким же, как AssemblyVersion.

15
ответ дан 3 December 2019 в 03:18
поделиться

Обычно версия файла более точная, чем версия сборки. Например: System.Windows.Form.dll - Версия сборки: 2.0.0.0, Версия файла: 2.0.50727.3053.

Версия сборки - важная информация, когда пора загружать сборку.

Итак, если вы обнаружили небольшую ошибку в одной из упомянутых сборок. Вы исправляете ошибку, обновляете версию файла, но сохраняете ту же версию сборки. Преимущество: вам не нужно повторно связывать ссылки на эту сборку с новой версией, а с версией файла вы можете узнать текущую версию вашего файла.

5
ответ дан 3 December 2019 в 03:18
поделиться

AssemblyFileVersion используется для установки информации о версии в ресурсе Win32 в вашем двоичный, тот, который вы увидите, если откроете окно свойств для файла в проводнике.

2
ответ дан 3 December 2019 в 03:18
поделиться

Установщики будут использовать AssemblyFileVersion, чтобы определить, следует ли перезаписывать файл на основе версии.

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

3
ответ дан 3 December 2019 в 03:18
поделиться

Я не эксперт, и я, возможно, не ссылаюсь на эксперта, но, насколько я понял, в целом AssemblyVersion касается «интерфейса» -> что делает сборка, назад совместимость и т. д. А AssemblyFileVersion больше связано с реализацией, сборкой и т. д.

Используйте атрибут AssemblyVersion, чтобы указать версию «Last Compatible-To», и атрибут AssemblyFileVersion, чтобы указать версию сборки ».

-> http://www.shitalshah.com/blog/IsJeffRichterScrewingUpTheNetVersioning.aspx

// О, и еще кое-что.

Существуют определенные обстоятельства (о которых я не совсем понимаю, поскольку я только слышал о них, но на самом деле не сталкивался с ними), когда при попытке обновить приложение с помощью dll в GAC старые версии dll выиграли ' не могут быть перезаписаны новыми версиями с тем же номером версии сборки, если только версия файла не изменилась. (Это предложение достаточно сложное? Уже поздно ...)

3
ответ дан 3 December 2019 в 03:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: