Sprawdźcie w wersji zadaniem w http://msbuildtasks.tigris.org/
Pozwoli to, aby zaktualizować assemblyinfo.cs na budowie.
Że nadal pozostawia „jak” zidentyfikować oddział ...
Na ryzyko wystąpienia debaty religijnej wersji numeracji można poświęcić jedną część do części major.minor.build.revision gałąź. Na przykład major.minor podąża za twoim numerem "zewnętrznym/komercyjnym", kompilacja jest budową z formularza TFS, a wersja 1 wskazuje na główną gałąź, rewizja 2 wskazuje na pewną gałąź. Można także użyć innych atrybutów wersji zespołu, takich jak AssemblyInformationalAttribute, aby przechowywać w nim identyfikator oddziału.
Nie jestem do końca aktualny, w jaki sposób można wykryć oddział, w którym się znajdujesz, ale w najgorszym przypadku jest to tylko kwestia uzyskania bieżącego katalogu i zastosowania pewnej logiki, aby wywnioskować nazwę oddziału. Dane wyjściowe gałęzi tf. Polecenie powinno również podać nazwę oddziału dla bieżącego obszaru roboczego, ale będziesz potrzebować niestandardowego zadania, aby wyodrębnić tylko pierwszy wiersz.
Nie jest to odpowiedź typu "plug-and-play", ale może wskazać właściwy kierunek.
Proponuję użyć [AssemblyConfigurationAttribute] (http://msdn.microsoft.com/en-us/library/system.reflection.assemblyconfigurationattribute.aspx), ponieważ jest przeznaczony do użycia w tekstowej konfiguracji kompilacji w dowolnym formacie Informacja. Proponuję także przejście do schematu, w którym masz wspólny plik [VersionInfo] (http://stackoverflow.com/questions/62353/what-are-the-best-practices-for-using-assembly-attributes) pomiędzy projektami abyś mógł zaktualizować te informacje w jednym miejscu. Nic nie wiem o TFS, więc nie mogę ci w tym pomóc. –
@chibacity Oddział nie jest konfiguracją. AssemblyInformationalVersionAttribute wydaje się być bardziej odpowiednim miejscem do przechowywania tych informacji. To trochę dziwne, że nie ma jawnie atrybutu Assembly dla gałęzi. – mhenry1384