Assembly.Load et Environment.CurrentDirectory
-
02-07-2019 - |
Question
Je me rends compte qu'il y a un fil un peu lié à ce sujet ici: Chargement d'assemblys et de leurs dépendances
Mais je modifie quelque chose et cela ne s'applique pas exactement.
string path = Path.GetDirectoryName( pathOfAssembly );
Environment.CurrentDirectory = path;
Assembly.Load(Path.GetFileNameWithoutExtension(pastOfAssembly));
Y a-t-il vraiment une raison pour laquelle vous le feriez comme ça? Ne serait-il pas plus logique de simplement utiliser:
Assembly.LoadFile(pathOfAssembly);
Toute idée serait grandement appréciée.
La solution
Ressemble au "Département du département de redondance".
Beaucoup plus de code que nécessaire. Moins c'est plus!
Modifier: À la réflexion, il se peut que l'assemblage que vous chargez ait des dépendances qui résident dans son propre dossier qui peut être requis pour utiliser le premier assemblage.
Autres conseils
Cela peut être nécessaire lorsque vous développez un service Windows. Le répertoire de travail d'un service par défaut est% WinDir%. Si vous souhaitez charger un assembly à partir du répertoire dans lequel réside l'exe de service, c'est la solution.