Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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
Azione consigliata
Evitare dipendenze dal percorso dei file degli assembly durante la pubblicazione come singolo file.