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.
Zalecana akcja
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