W programie .NET 8 i nowszych wersjach istnieje możliwość uproszczenia struktury ścieżki wyjściowej i folderu dla danych wyjściowych kompilacji. Wszystkie dane wyjściowe kompilacji ze wszystkich projektów są zbierane w wspólnej lokalizacji rozdzielonej projektem. Wspólna lokalizacja ułatwia narzędziom przewidywanie, gdzie można znaleźć dane wyjściowe.
Domyślnie wspólną lokalizacją jest katalog o nazwie artifacts obok pliku Directory.build.props . Struktura folderów w folderze artefaktów głównych jest następująca:
W poniższej tabeli przedstawiono wartości domyślne dla każdego poziomu w strukturze folderów. Możesz zastąpić wartości, a także lokalizację domyślną, używając właściwości w pliku Directory.build.props .
Poziom folderu
opis
Przykłady
Typ danych wyjściowych
Kategorie danych wyjściowych kompilacji, takie jak pliki binarne, pliki pośrednie/wygenerowane, opublikowane aplikacje i pakiety NuGet.
bin, , obj, , publishpackage
Nazwa projektu
Oddziela dane wyjściowe według każdego projektu.
MyApp
Pivot
Rozróżnia między kompilacjami projektu dla różnych konfiguracji, platform docelowych i identyfikatorów środowiska uruchomieniowego. Jeśli jest potrzebnych wiele elementów, są one przyłączone przez podkreślenie (_). Można dostosować przy użyciu ArtifactsPivots właściwości MSBuild.
debug, , debug_net8.0, , releaserelease_linux-x64
Przykłady
W poniższej tabeli przedstawiono przykłady ścieżek, które można utworzyć.
Ścieżka
opis
artifacts\bin\MyApp\debug
Ścieżka wyjściowa kompilacji dla prostego projektu po uruchomieniu dotnet buildpolecenia .
artifacts\obj\MyApp\debug
Ścieżka danych wyjściowych pośrednich dla prostego projektu po uruchomieniu polecenia dotnet build.
artifacts\bin\MyApp\debug_net8.0
Ścieżka danych wyjściowych kompilacji dla net8.0 kompilacji wielokierunkowego projektu.
artifacts\publish\MyApp\release_linux-x64
Ścieżka publikowania dla prostej aplikacji podczas publikowania dla programu linux-x64.
artifacts\package\MyApp\release
Folder, w którym jest tworzony plik nupkg wydania dla projektu.
Sposób konfigurowania
Aby wyrazić zgodę na scentralizowany format ścieżki wyjściowej, dodaj jedną z następujących właściwości programu MSBuild do pliku Directory.Build.props :
Aby użyć domyślnej lokalizacji wyjściowej, ustaw UseArtifactsOutput właściwość na true.
Aby ustawić niestandardową lokalizację wyjściową, dodaj ArtifactsPath właściwość z wartością $(MSBuildThisFileDirectory)artifacts (lub dowolną lokalizacją folderu). Jeśli nie masz jeszcze pliku Directory.Build.props , możesz uruchomić następujące polecenie, aby automatycznie wygenerować plik zawierający ArtifactsPath właściwość :
.NET CLI
dotnetnew buildprops --use-artifacts
Wygenerowany plik wygląda podobnie do następującego:
Nazwa folderu "pivot" jest domyślnie ustawiona na kombinację nazwy docelowej platformy (TFM), konfiguracji i identyfikatora środowiska uruchomieniowego (RID). Wszystkie, które nie są obecne, zostaną pominięte. Aby dostosować sposób nazwania folderu "pivot", ustaw ArtifactsPivots właściwość MSBuild na żądany ciąg. Na przykład:
Źródło tej zawartości można znaleźć w witrynie GitHub, gdzie można również tworzyć i przeglądać problemy i żądania ściągnięcia. Więcej informacji znajdziesz w naszym przewodniku dla współtwórców.
Opinia o produkcie .NET
.NET to projekt typu open source. Wybierz link, aby przekazać opinię:
W tym module zespół internetowy Space Game przeprowadzi Cię przez proces tworzenia potoku kompilacji, który tworzy pakiet, który może być używany przez wiele aplikacji.
Dowiedz się więcej na temat zmiany powodującej niezgodność w zestawie SDK platformy .NET 7.0.200, gdzie użycie opcji "--output" nie jest już prawidłowe w przypadku korzystania z pliku rozwiązania