【发布时间】:2010-12-14 13:44:35
【问题描述】:
我正在尝试对特定产品运行自动化测试。 测试包括将产品安装到硬盘上的不同位置,然后对其执行一些操作,然后关闭应用程序。
启动进程的代码如下所示:
using (Process process = new Process())
{
process.StartInfo.FileName = "C:\mylocation\myapp.exe";
process.Start();
}
在连续执行测试时,当应用程序的安装位置发生变化时,我从上面的代码中得到一个异常:
API 限制:程序集 'file:///C:\alternate_location\myapp.exe' 已经从另一个加载 地点。它不能从 同一个新位置 应用程序域。
因此无法连续运行测试。
可以做些什么来克服这个问题?无论如何我可以从 GAC 中卸载程序集吗?
我可以在我的测试应用程序中做一些事情来克服这个问题吗?或者我正在测试的应用程序中是否必须进行一些更改?
【问题讨论】:
-
顺便说一句,您没有将内容“加载”到 GAC 中,而是“注册”或“添加”。因此,您不会“卸载”,而是“删除”(因此 Konamiman 的回答很混乱)
-
好的。谢谢指正。
-
你用的是什么测试框架?
-
测试框架是我正在开发的。
标签: .net assemblies clr appdomain