Я работаю на инструмент для автоматизации процесса сборки он все еще находится на разработке и это с открытым исходным кодом здесь ссылка (я планирую выпуск в течение одной недели):
https://github.com/jupaol/NCastor
сейчас Я бы порекомендовал вам проверить семантические версии:
http://semver.org/
чтобы получить последнюю ревизию с TFS, у вас есть несколько вариантов:
Я построил пользовательский режим для того чтобы сделать это
https://github.com/jupaol/NCastor/blob/develop/Solutions/NCastor.AutoBuilder/NCastor.AutoBuilder.Runner/Targets/Build/Versioning/VersionControlServers/TFS/GetTFSRevisionVersion.target
Я должен был построить эту процедуру, потому что задачи сообщества и задача MSBuild Extenssions не работали на 64bits машины, если вы используете 32бит машину строить, то вы можете использовать следующие задачи:
Использование http://msbuildextensionpack.codeplex.com/
<UsingTask AssemblyFile="$(ExtensionTasksPath)MSBuild.ExtensionPack.dll" TaskName="MSBuild.ExtensionPack.VisualStudio.TfsVersion"/>
Использование 0
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Tfs.TfsVersion" />
Пример для установки различных версий:
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.AssemblyInfo" />
<MSBuild.Community.tasks.AssemblyInfo OutputFile="$(AssemblyVersionFilePath)"
CodeLanguage="C#"
AssemblyFileVersion="$(FileVersion)"
AssemblyInformationalVersion="$(InformationalVersion)"
AssemblyVersion="$(SemanticVersion)" />
После того, как вы создали файл, просто добавьте этот файл в качестве ссылки на каждый проект и вуаля! все ваши проекты разделяют общую сборку.
Куда поместить задачу пользовательской сборки - вместе с решением для сборки? Как выглядит соответствующее определение сборки? – mbx
В каком пространстве имен находится RunProcess? Он совместим с .net 3.5? –
Мне жаль, что я не записал, как использовать этого кода, у меня больше нет памяти об этом. – vidstige