Beteendeändring i PublishDepsFilePath

Egenskapen PublishDepsFilePath MSBuild är tom för enfilsprogram. För program som inte är en enda fil kanske deps.json-filen inte kopieras till utdatakatalogen förrän senare i versionen.

Version lanserad

5,0

Ändra beskrivning

I tidigare .NET-versioner PublishDepsFilePath är egenskapen MSBuild sökvägen till appens deps.json fil i utdatakatalogen för program som inte är en enda fil och en sökväg i mellankatalogen för appar med en fil.

Från och med .NET 5 är PublishDepsFilePath tomt för enfilsprogram och en ny egenskap IntermediateDepsFilePath anger platsen deps.json i den mellanliggande katalogen. För program som inte är enkelfilsprogram kanske deps.json-filen inte kopieras till utdatakatalogen (dvs. sökvägen som anges av PublishDepsFilePath) förrän senare i kompileringen.

Orsak till ändring

Denna ändring gjordes av ett par skäl:

  • På grund av en refaktorisering av publiceringslogik för att stödja förbättrade appar med en fil i .NET 5.

  • I appar med en enda fil, för att skydda mot mål som försöker skriva om deps.json-filen efter att deps.json redan har paketerats, vilket inte påverkar appen. Därför är PublishDepsFilePath tom för enfilprogram.

Mål som skriver om deps.json-filen bör vanligtvis göra det med hjälp av IntermediateDepsFilePath egenskapen .

Berörda API:er

Inte tillgänglig