Zmiana działania elementu PublishDepsFilePath

Właściwość PublishDepsFilePath MSBuild jest pusta dla aplikacji jednoplikowych. Ponadto w przypadku aplikacji innych niż jednoplikowe plik deps.json może nie zostać skopiowany do katalogu wyjściowego do późniejszego momentu w kompilacji.

Wprowadzona wersja

5,0

Opis zmiany

W poprzednich wersjach PublishDepsFilePath platformy .NET właściwość MSBuild jest ścieżką do pliku deps.json aplikacji w katalogu wyjściowym dla aplikacji niezwiązanych z pojedynczym plikiem oraz ścieżką w katalogu pośrednim dla aplikacji jednoplikowych.

Począwszy od platformy .NET 5, jest pusty dla aplikacji jednoplikowych, PublishDepsFilePath a nowa IntermediateDepsFilePath właściwość określa lokalizację deps.json w katalogu pośrednim. Ponadto w przypadku aplikacji innych niż jednoplikowe plik deps.json może nie zostać skopiowany do katalogu wyjściowego (czyli ścieżki określonej przez PublishDepsFilePath) do późniejszego momentu w kompilacji.

Przyczyna wprowadzenia zmiany

Ta zmiana została wprowadzona z kilku powodów:

  • Ze względu na refaktoryzację logiki publikowania w celu obsługi ulepszonych aplikacji jednoplikowych na platformie .NET 5.

  • W aplikacjach z jednym plikiem, aby chronić obiekty docelowe, które próbują przepisać plik deps.json po deps.json został już dołączony, w ten sposób dyskretnie nie ma wpływu na aplikację. Z tego powodu PublishDepsFilePath jest pusty dla aplikacji z jednym plikiem.

Obiekty docelowe, które ponownie zapiszą plik deps.json , zazwyczaj powinny to zrobić przy użyciu IntermediateDepsFilePath właściwości .

Dotyczy interfejsów API

Nie dotyczy