Partager via


Modifications du comportement de l’API associée à l’assembly pour le format de publication à fichier unique

Plusieurs API liées à l’emplacement de fichier d’un assembly ont des modifications de comportement lorsqu’elles sont appelées dans un format de publication à fichier unique.

Description de la modification

Dans la publication à fichier unique pour .NET 5 et versions ultérieures, les assemblys groupés sont chargés à partir de la mémoire au lieu d’être extraits sur disque. Pour les applications publiées à fichier unique, cela signifie que certaines API liées à l’emplacement retournent des valeurs différentes sur .NET 5 et ultérieures que sur les versions précédentes de .NET. Les modifications sont les suivantes :

API (Interface de Programmation d'Applications) Versions précédentes .NET 5 et versions ultérieures
Assembly.Location Retourne le chemin d’accès du fichier DLL extrait Retourne une chaîne vide pour les assemblys groupés
Assembly.CodeBase Retourne le chemin d’accès du fichier DLL extrait Lève une exception pour les assemblys groupés
Assembly.GetFile(String) Retourne null pour les assemblys groupés Lève une exception pour les assemblys groupés
Environment.GetCommandLineArgs()[0] La valeur est le nom de la DLL du point d’entrée La valeur est le nom de l’exécutable hôte
AppContext.BaseDirectory La valeur représente le répertoire temporaire d'extraction La valeur est le répertoire qui contient l'exécutable hôte

Version introduite

5,0

Évitez les dépendances sur l’emplacement des assemblages lors de la publication sous forme de fichier unique.

API affectées