Изменить версию сборки в сборке .NET-сборки
Простой вопрос... есть ли способ изменить версию сборки компилируемой сборки .NET?
На самом деле все будет в порядке, чтобы изменить версию файла сборки.
Ответы
Ответ 1
Вы можете использовать ILMerge:
ILMerge.exe Foo.dll /ver:1.2.3.4 /out:Foo2.dll
Действительной причиной для этого является увеличение версии сборки в сборке, в которой вы обнаружите нарушение изменений (например, с использованием NDepend). Таким образом, если изменений нет, версия сборки остается прежней, и вы можете легко исправлять выпущенные сборки.
Мы всегда увеличиваем версию файла, и это отражает номер сборки.
Ответ 2
Старая тема, но вот мои 5 центов...
.custom instance void [mscorlib]System.Reflection.AssemblyFileVersionAttribute::.ctor(string) = ( 01 00 07 35 2E 31 2E 33 2E 30 00 00 ) // ...5.1.3.0..
-
Измените my.res, чтобы изменить информацию о версии.
Дважды щелкните и отредактируйте визуальную студию. Довольно простая процедура.
-
Собрать
ilasm my.il/res:my.res
Ответ 3
почему ты хочешь сделать это? Если это так, что другое приложение может использовать его, вы можете вместо этого изучить перенаправление привязки сборки.
Ответ 4
Похоже, ваш процесс тяжелый, потому что вам нужно обновить несколько файлов AssemblyInfo. Рассматривали ли вы совместное использование одного и того же файла AssemblyInfo между проектами? Дерик Уиттакер дает хороший пример того, как это сделать.
Если у вас есть один файл, вы можете пройти дополнительное расстояние, обновив процесс сборки вашей единственной версии AssemblyInfo с помощью MSBuild или NAnt.
Ответ 5
Если у вас есть формальное тестирование и контроль версий, процесс становится довольно простым. Он начинается с понимания того, кто может изменить разные номера сегментов версии и когда. Сборки .net имеют 4 числовых сегмента (т.е. 1.0.0.1).
Первый сегмент содержит номер основной версии. Это устанавливается высшим руководством и указывает на серьезные изменения в пользовательском интерфейсе или в платформе приложения. Это всегда должно быть одно и то же число между версией сборки и версией файла.
Второй сегмент содержит номер малой версии, также известный как номер выпуска функции. Это устанавливается Управлением проектами и указывает, что в приложение были добавлены новые функции. Это всегда должно быть одно и то же число между версией сборки и версией файла.
Третий сегмент содержит номер сборки. Это устанавливается группой тестирования и указывает, что приложение готово к развертыванию. Он изменяется до выпуска исправлений ошибок. При выпуске новой сборки тестирование сбрасывает четвертый сегмент до 0. Это может быть то же самое число между версией сборки и версией файла, но обычно остается равным 0 для версии сборки, чтобы упростить исправление существующих развертываний.
Четвертый сегмент содержит номер редакции. Это устанавливается группой разработчиков всякий раз, когда они проверяют новый код в системе контроля версий. Этот номер будет включен в версию файла скомпилированной DLL, но не в версию сборки.
Я обнаружил, что это помогает разработчикам, тестировщикам и разработчикам отслеживать последние версии, не наступая друг на друга. К сожалению, я также работал с компаниями, которые использовали статическую систему управления версиями, чтобы никто не знал, какой была последняя, лучшая сборка.
Ответ 6
VerPatch, как указано в этом , прост и эффективен.