Я пытаюсь запустить автоматические тесты для определенного продукта. Тест состоит из установки продукта в разные места на жестком диске, а затем выполнения некоторых операций над ним, а затем закрытия приложения.Как разгружать сборки из GAC?
Код, который запускает процесс выглядит следующим образом:
using (Process process = new Process())
{
process.StartInfo.FileName = "C:\mylocation\myapp.exe";
process.Start();
}
При выполнении тестов непрерывно, когда место установки приложения изменится, я получаю исключение из приведенного выше кода, который говорит:
Ограничение API: сборка 'файл: /// C: \ alternate_location \ myapp.exe' уже загружен из другого . Он не может быть загружен с нового места в пределах того же appdomain.
Из-за этого испытания не могут выполняться непрерывно.
Что можно сделать, чтобы преодолеть это? В любом случае я могу разгрузить сборки из GAC?
Могу ли я что-то сделать в своем тестовом приложении для преодоления этого ИЛИ, что-то нужно изменить в приложении, которое я тестирую?
BTW вы не загрузите материал в GAC, вы «зарегистрируете» или «добавите». Следовательно, вы не «выгружаете», вы «удаляете» (Отсюда путаница в ответе Конамимана) –
Хорошо. Спасибо за исправление. – Poulo
Какую тестовую среду вы используете? – serialhobbyist