Modifiche al comportamento dell'API correlate all'assembly per il formato di pubblicazione a file singolo

Più API correlate al percorso del file di un assembly hanno modifiche di comportamento quando vengono richiamate in un formato di pubblicazione a file singolo.

Descrizione delle modifiche

Nella pubblicazione a file singolo per .NET 5 e versioni successive, gli assembly aggregati vengono caricati dalla memoria anziché estratti su disco. Per le app pubblicate a file singolo, ciò significa che determinate API correlate alla posizione restituiscono valori diversi in .NET 5 e versioni successive rispetto alle versioni precedenti di .NET. Le modifiche sono le seguenti:

API Versioni precedenti .NET 5 e versioni successive
Assembly.Location Restituisce il percorso del file DLL estratto Restituisce una stringa vuota per gli assembly aggregati
Assembly.CodeBase Restituisce il percorso del file DLL estratto Genera un'eccezione per gli assembly aggregati
Assembly.GetFile(String) Restituisce null per gli assembly aggregati Genera un'eccezione per gli assembly aggregati
Environment.GetCommandLineArgs()[0] Value è il nome della DLL del punto di ingresso Value è il nome dell'eseguibile host
AppContext.BaseDirectory Value è la directory di estrazione temporanea Value è la directory contenitore dell'eseguibile host

Versione introdotta

5.0

Evitare dipendenze dal percorso dei file degli assembly durante la pubblicazione come singolo file.

API interessate