J'ai une classe qui utilise une méthode d'échange de répertoire pour le répertoire Environment.CurrentDirectory. Le code ressemble à ceci:AppDomain et le répertoire courant
var str = Environment.CurrentDirectory;
Environment.CurrentDirectory = Path.GetDirectoryName(pathToAssembly);
var assembly = Assembly.Load(Path.GetFileNameWithoutExtension(pathToAssembly));
Environment.CurrentDirectory = str;
Comme mon post plus tôt, nous utilisons cette méthode de commutation de répertoire pour permettre le chargement de l'assemblage spécifié ainsi que toutes les assemblées de références, ainsi que des ensembles non gérés. Le problème que j'ai est que cette fonction est exécutée dans deux AppDomains distincts. Dans AppDomain A (un AppDomain que je crée), le code fonctionne correctement. Dans AppDomain B (l'AppDomain par défaut), il lève FileNotFoundException. Pour les deux appels, j'essaie de charger le même assemblage. Toute idée de pourquoi ce serait le cas?
De quel fichier se plaignent-ils - l'assemblage que vous essayez de charger ou une dépendance? –
L'assemblage que j'essaie de charger –