Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Techniki w tym artykule są przydatne, gdy chcesz dostosować wszystkie kompilacje uruchamiane na określonym komputerze, maszynie wirtualnej lub kontenerze. Na przykład podczas konfigurowania serwera kompilacji może być konieczne globalne skonfigurowanie ustawień programu MSBuild dla wszystkich kompilacji na serwerze. W zasadzie można zmodyfikować globalne pliki Microsoft.Common.Targets lub Microsoft.Common.Props , ale istnieje lepszy sposób. Można wpływać na wszystkie kompilacje określonego typu projektu (takie jak wszystkie projekty języka C#), używając pewnych właściwości MSBuild oraz dodając niestandardowe pliki .targets i .props.
Przed i po standardowych plikach .props i .targets
Aby wpłynąć na wszystkie kompilacje języka C# lub Visual Basic zarządzane przez instalację programu MSBuild lub Visual Studio, utwórz plik Custom.Before.Microsoft.Common.Targets lub Custom.After.Microsoft.Common.Targets z celami, które będą uruchamiane przed lub po elemencie Microsoft.Common.targets albo plik Custom.Before.Microsoft.Common.Props lub Custom.After.Microsoft.Common.Props z właściwościami, które zostaną przetworzone przed lub po Microsoft.Common.props.
Lokalizacje tych plików można określić przy użyciu następujących właściwości programu MSBuild:
- CustomBeforeMicrosoftCommonProps
- CustomBeforeMicrosoftCommonTargets
- CustomAfterMicrosoftCommonProps
- CustomAfterMicrosoftCommonTargets
- CustomBeforeMicrosoftCSharpTargets
- CustomBeforeMicrosoftVisualBasicTargets
- CustomAfterMicrosoftCSharpTargets
- CustomAfterMicrosoftVisualBasicTargets
Typowe wersje tych właściwości mają wpływ zarówno na projekty języka C#, jak i Visual Basic. Te właściwości można ustawić w wierszu polecenia MSBuild.
msbuild /p:CustomBeforeMicrosoftCommonTargets="C:\build\config\Custom.Before.Microsoft.Common.Targets" MyProject.csproj
Ostrzeżenie
Program Visual Studio używa plików niestandardowych .targets lub .props , jeśli znajdzie je w folderze MSBuild za każdym razem, gdy kompiluje dowolny projekt pasującego typu. To dostosowanie może mieć niezamierzone konsekwencje, a w przypadku nieprawidłowego wykonania może wyłączyć możliwość kompilowania programu Visual Studio na komputerze.
Zastępowanie wspólnego pliku props
Możesz również użyć właściwości AlternateCommonProps , aby określić własny .props plik do użycia zamiast Microsoft.Common.props. Jeśli kiedykolwiek uważasz, że trzeba dostosować plik Microsoft.Common.props , modyfikując go bezpośrednio, możesz zamiast tego skopiować standardową wersję tego pliku do innego pliku, a następnie wprowadzić zmiany tylko w alternatywnej wersji.
Najlepsze podejście zależy od twojego scenariusza. Korzystając z rozszerzalności programu Visual Studio, można dostosować system kompilacji i udostępnić mechanizm instalowania dostosowań i zarządzania nimi.
Jeśli masz dedykowany serwer kompilacji i chcesz mieć pewność, że niektóre obiekty docelowe zawsze są wykonywane na wszystkich kompilacjach odpowiedniego typu projektu, które są wykonywane na tym serwerze, użycie globalnego niestandardowego .targets lub .props pliku ma sens. Jeśli obiekty docelowe niestandardowe mają być wykonywane tylko w przypadku zastosowania określonych warunków, użyj innej lokalizacji pliku i ustaw ścieżkę do tego pliku, ustawiając odpowiednią właściwość MSBuild w wierszu polecenia MSBuild tylko wtedy, gdy jest to konieczne.