Czy są jakieś właściwości MSBuild, które ustawia Visual Studio? Szukam zachowania warunkowego w zależności od wersji (jeśli w ogóle) wizualnego studia.W MSBuild można ustalić, czy używam programu Visual Studio
Odpowiedz
Wartość właściwości, której należy użyć to BuildingInsideVisualStudio
, podczas budowania wewnątrz programu Visual Studio ta właściwość zostanie ustawiona na wartość true. Ponieważ ProductVersion
jest zadeklarowany w pliku projektu, nie można go użyć, ponieważ będzie miał taką samą wartość, niezależnie od tego, czy będzie budowany wewnątrz VS, czy za pośrednictwem msbuild.exe.
Dokumentacja tutaj: http://msdn.microsoft.com/en-us/library/ms171468(en-us).aspx. –
Zwróć uwagę, że ta właściwość jest włączona, nawet jeśli korzystasz z devenv.com z konsoli. –
Tak, <ProductVersion>
znajduje się na liście w pliku projektu. Jest zgodny z numerem wersji programu Visual Studio.
Zobacz mój komentarz na ten temat. –
<ProductVersion>
wyświetli wersję MSBuild, która uruchamia proces kompilacji.
Należy zauważyć, że w VS 2010 proces kompilacji może być ukierunkowany na .Net 4.0 lub 3.5. Należy się zastanowić, czy kompilacja warunkowa zależy od samej wersji msbuild lub od docelowej struktury kompilacji i narzędzi, z których zbudowana jest wersja za pomocą. Jeśli twój stan jest oparty na docelowej strukturze, użyj <TargetFrameworkVersion>
.
Oczywiście, jeśli twoja kompilacja może być uruchomiona również w VS 2008, musisz obsłużyć właściwą rezerwę, jeśli brak jest <TargetFrameworkVersion>
.
Aby bezpośrednio odpowiedzieć na pytanie w tytule - jeśli po prostu chcesz wiedzieć, czy są budowane z VS, czy nie, sprawdzić wartość IsDesktopBuild
który powróci true
lub false
odpowiednio.
Dotyczy to tylko TFS. –
@Sayed thanks. Ponieważ użyłem MSBuild tylko z TFS, nie wiem, gdzie są punkty podziału! – AakashM
- 1. Czy program MSBuild wymaga zainstalowania programu Visual Studio?
- 2. Jak ustalić, której wersji Androida Studio używam?
- 3. Wykryj wersję programu Visual Studio z poziomu projektu MSBuild
- 4. Czy można wyłączyć animację autouzupełniania w dokowaniu programu Visual Studio?
- 5. Jak zarządzać zależnościami w Visual Studio/MSBuild
- 6. Odświeżenie programu Visual Studio 2010
- 7. Instalowanie programu PlatformToolset v110 bez instalowania programu Visual Studio 2012
- 8. Zagadnienia MSBuild i Visual Studio 2012
- 9. Czy można wikifikowac komentarze Visual Studio XML?
- 10. Selektor plików programu Visual Studio
- 11. Nie można uruchomić programu Visual Studio 2015 jako innego użytkownika.
- 12. Obsługa MSBuild dla szablonów T4 w Visual Studio 2017 RTM
- 13. Można bezpiecznie zainstalować program Visual Studio 2015 Preview obok programu Visual Studio 2013
- 14. Visual Studio 2010 nie można uruchomić programu .dll
- 15. Czy można zainstalować Roslyn bez Visual Studio?
- 16. Czy mogę używać programu CodeRush Xpress w Visual Studio 2010?
- 17. Nie można zastosować KB3165756 do programu Visual Studio 2015 Professional
- 18. Ścieżka względna odniesienia dla programu Visual Studio
- 19. Czy aktualizacje programu Visual Studio 2012 przerywają C++ ABI?
- 20. Auto zakończenia programu Resharper (lub Visual Studio)
- 21. Czy można używać pip z narzędziami Python w Visual Studio?
- 22. msbuild Błąd MSB4025 w TeamCity kompilacji kroku dla Visual Studio
- 23. Karta programu Visual Studio z nawiasami/cudzysłowami?
- 24. Uruchom narzędzie niestandardowe programu Visual Studio w czasie kompilacji
- 25. Jak używać programu PowerShell z wierszem polecenia programu Visual Studio?
- 26. Pliki połączone programu Visual Studio nie istnieją.
- 27. Czy można zapewnić intellisense dla dynamicznych obiektów w visual studio?
- 28. Skrót menu kontekstowego programu Visual Studio
- 29. Definicja przejścia do programu Visual Studio - interfejsy
- 30. Okno okna konsoli programu Visual Studio
Czy widziałeś odpowiedź na poprzedni wpis: http://stackoverflow.com/questions/2499253/msbuild-how-to-set-condition-using-a-condition-stored-in-a-property Może to trafi na właściwą ścieżkę – used2could