Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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
Rekommenderad åtgärd
Undvik beroenden på filplatsen för sammansättningar när du publicerar som en enda fil.