Best practice автоинкремента версии/билда относительно C# / Visual Studio?
Какой путь лучше использовать при одной ветке апликухи, а как нужно действовать когда веток несколько? ( И почему, если это не очевидно по ответу :)
Есть ли какие подводные камни, на которые нужно обратить внимание при использовании автоинкремента? Как в целом, так и в часности относительно пути который советуете.
Самые подводные грабли тут - место хранения счетчика билдов. В то время когда весь мир пользуется распределенными системами хранения исходников - номер билда все еще должен проставляться в одном месте.
Скорее всего, лучше забить на простановку версий в локальных сборках и проставлять версию только на билд-сервере.
Во время сборки можно генерировать файл, к примеру, CommonAssemblyInfo.cs
, который подключен ко всем проектам как ссылка:
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="..\CommonAssemblyInfo.cs">
<Link>Properties\CommonAssemblyInfo.cs</Link>
</Compile>
При генерации файла на этапе сборки отталкиваться можно вот от такого шаблона:
using System.Reflection;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyCompany("...")]
[assembly: AssemblyProduct("...")]
[assembly: AssemblyCopyright("...")]
[assembly: AssemblyTrademark("...")]
[assembly: AssemblyCulture("ru-RU")]
[assembly: AssemblyVersion("$(VersionFull)")]
[assembly: AssemblyFileVersion("$(VersionFull)")]
[assembly: AssemblyInformationalVersionAttribute("$(ProductVersion)")]
[assembly: AssemblyMetadata("Git:Branch", "$(GitBranch)")]
[assembly: AssemblyMetadata("Git:CommitHash", "$(GitCommitHash)")]
Старшие числа номера версии (Major, Minor, Build/Hotfix) имеет смысл задавать вручную, меняя при выпуске очередного релиза. При работе в подходе Agile в качестве третьей цифры напрашивается номер спринта.
Младшую цифру (Revision) лучше брать из переменных билд-сервера, чтобы она соответствовала номеру билда.
Текущую ветку гита можно прочитать из .git/HEAD Текущий коммит - из .git/refs/heads/{ветка}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Я написал приложение на языке C#, которое работает с базой данных MS SQLЕсли я переношу приложение на другой компьютер и пытаюсь запустить то оно...
Не могли бы вы,пожалуйста,создать корректно эту программу(по-своему,скорее всего,потому что я еще зеленый и пишу лапшу), чтобы я смог сравнить...
Перестал открываться проект Unity/С#, после установки поддержки C++ проектов(До этого все работало) Решение вроде открывается, в самом проекте...