Changements de comportement de l’API liée à l’assembly pour la publication monofichier
Plusieurs API liées à l’emplacement d’un fichier d’assembly ont des changements 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 le 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 versions ultérieures par rapport aux versions précédentes de .NET. Les modifications sont les suivantes :
API | Versions précédentes | .NET 5 et versions ultérieures |
---|---|---|
Assembly.Location | Retourne le chemin du fichier DLL extrait | Retourne une chaîne vide pour les assemblys groupés |
Assembly.CodeBase | Retourne le chemin 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 est le répertoire d’extraction temporaire | La valeur est le répertoire contenant du fichier exécutable hôte |
Version introduite
5,0
Action recommandée
Évitez les dépendances sur l’emplacement de fichier des assemblys lors de la publication en tant que fichier unique.
API affectées
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour