Sammansättningsrelaterade API-beteendeändringar för publiceringsformat med en fil
Flera API:er som är relaterade till en sammansättnings filplats har beteendeändringar när de anropas i ett publiceringsformat med en fil.
Ä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 | 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å startpunktens DLL | Värdet är namnet på den körbara värden |
AppContext.BaseDirectory | Värdet är den temporära extraheringskatalogen | Värdet är den katalog som innehåller den körbara värden |
Version introducerad
5,0
Rekommenderad åtgärd
Undvik beroenden på filplatsen för sammansättningar när du publicerar som en enda fil.
Berörda API:er
Samarbeta med oss på GitHub
Källan för det här innehållet finns på GitHub, där du även kan skapa och granska ärenden och pull-begäranden. Se vår deltagarguide för mer information.