Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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
Action recommandée
Évitez les dépendances sur l’emplacement des assemblages lors de la publication sous forme de fichier unique.