2013-02-26 13 views
6

Mam definicję kompilacji skonfigurowaną w mojej instancji TFS 2012. W tej definicji definicji chcę przekazać niestandardowy argument i uzyskać dostęp do wspomnianego argumentu w moim pliku .csproj. Na przykład:Przekaż wartość właściwości z definicji definicji TFS do pliku proj

MSBuild Arguments: /p:MyFoo=1 

W moim pliku .csproj chcę to zrobić:

<ItemGroup Condition=" '$(MyFoo)' == '1' "> 

Czy to możliwe, czy ja mam o tym niepoprawnie?

Odpowiedz

10

To więcej niż to możliwe, bardzo łatwo to zrobić. Edytuj definicję kompilacji, w zakładce procesu rozwiń sekcję "zaawansowane", a zobaczysz właściwość o nazwie "Argumenty MSbuild", dodając argument w formacie w pytaniu. na przykład /p:MyFoo=1

np.

adding msbuild arguments to TFS build definition

Można również wprowadzić argumenty kiedy kolejka A Budowa

enter image description here

+0

nie jestem pewien, że to całkowicie odpowiada na moje pytanie. Czy mówisz, że powinienem móc odwoływać się do $ (MyFoo) w moim pliku proj? – Matt

+0

@Matt Tak, to przekaże Argument do MSbuild, a $ (MyFoo) będzie dostępne dla wszystkich rozwiązań/projektów w kompilacji. –

+1

Możesz przejrzeć aktywność msbuild wewnątrz twojego szablonu procesu budowania, który wywołuje msbuild, aby skompilować twoje rozwiązanie/projekt - argumenty MSBuild są przekazywane obok niektórych już zdefiniowanych. Jeśli twoja wartość jest czymś bardzo statycznym, możesz dodać ją tutaj, więc nie musisz tego definiować dla każdej definicji kompilacji. Przegłosowane – drk

Powiązane problemy