J'essaye d'exécuter des tests automatisés sur un produit particulier. Le test consiste à installer le produit à différents emplacements sur le disque dur, puis à effectuer certaines opérations sur celui-ci, puis à fermer l'application.Comment décharger les assemblages du GAC?
Le code qui lance le processus ressemble à ceci:
using (Process process = new Process())
{
process.StartInfo.FileName = "C:\mylocation\myapp.exe";
process.Start();
}
Lors de l'exécution des tests en continu, lorsque l'emplacement d'installation des changements d'application, je reçois une exception du code ci-dessus qui dit:
Restriction de l'API: L'assembly 'file: /// C: \ alternate_location \ myapp.exe' a déjà été chargé à partir d'un autre emplacement . Il ne peut pas être chargé à partir d'un nouvel emplacement dans le même domaine d'application .
Les tests ne peuvent pas être exécutés en continu à cause de cela.
Que peut-on faire pour surmonter cela? Y at-il de toute façon que je peux décharger les assemblées du GAC? Est-ce que je peux faire quelque chose dans mon application de test pour remédier à cela OU faut-il changer quelque chose dans l'application que je suis en train de tester?
Si vous ne chargez pas de contenu dans le GAC, vous l'enregistrez ou l'ajoutez. Par conséquent, vous ne «déchargez» pas, vous «supprimez» (d'où la confusion dans la réponse de Konamiman) –
Ok. Merci pour la correction. – Poulo
Quel cadre de test utilisez-vous? – serialhobbyist