Sammansättningsrelaterade API-beteendeändringar för publiceringsformat med en fil

Flera API:er relaterade till en assemblies filplats har förändrade beteenden när de anropas i single-file-publiceringsformat.

Ändra beskrivning

I enfilspublicering för .NET 5 och senare versioner läses paketerade sammansättningar in från minnet i stället för extraheras till disk. För enfilspublicerade appar innebär det att vissa platsrelaterade API:er returnerar olika värden på .NET 5 och senare än i tidigare versioner av .NET. Ändringarna är följande:

API (gränssnitt för programmering av applikationer) Tidigare versioner .NET 5 och senare
Assembly.Location Returnerar extraherad DLL-filsökväg Returnerar tom sträng för paketerade sammansättningar
Assembly.CodeBase Returnerar extraherad DLL-filsökväg Genererar undantag för paketerade sammansättningar
Assembly.GetFile(String) Returnerar null för paketerade sammansättningar Genererar undantag för paketerade sammansättningar
Environment.GetCommandLineArgs()[0] Värdet är namnet på DLL-filen som fungerar som startpunkt Värdet är namnet på den körbara värden
AppContext.BaseDirectory Värdet är den tillfälliga extraheringskatalogen Värdet är katalogen som innehåller den körbara filen för värddatorn

Version lanserad

5,0

Undvik beroenden på filplatsen för sammansättningar när du publicerar som en enda fil.

Berörda API:er