运行NUnit时加载程序集时出现问题(FileNotFoundException)

运行NUnit时加载程序集时出现问题(FileNotFoundException),nunit,process.start,Nunit,Process.start,最近,我一直在使用Selenium记录一些简单的测试。尽管Selenium测试最初存储为html文件,但该程序允许您以多种语言导出测试用例(在本例中,我使用C#) 我下载了NUnit用作我的测试框架——然后我可以将一个特定的导出C#文件作为项目加载到NUnit中 我还创建了一个简单的web应用程序,我可以单击按钮启动NUnit并运行一些测试。问题是,我一直收到以下错误消息: System.IO.FileNotFoundException:未找到文件或程序集名称nunit.core或其依赖项之一

最近,我一直在使用Selenium记录一些简单的测试。尽管Selenium测试最初存储为html文件,但该程序允许您以多种语言导出测试用例(在本例中,我使用C#)

我下载了NUnit用作我的测试框架——然后我可以将一个特定的导出C#文件作为项目加载到NUnit中

我还创建了一个简单的web应用程序,我可以单击按钮启动NUnit并运行一些测试。问题是,我一直收到以下错误消息:

System.IO.FileNotFoundException:未找到文件或程序集名称nunit.core或其依赖项之一

一旦我退出这个弹出窗口,NUnit就会根据需要打开,但是测试不会加载。web应用背后的源代码如下所示:

public void ButtonClick1(object sender, System.EventArgs e)
{
   ProcessStartInfo proc1 = new ProcessStartInfo("C:\\selenium-remote-control
1.0.3\\selenium-dotnet-client-driver-1.0.1\\source\\tools\\nunit\\nunit-gui", "TestProject14.dll");

   System.Diagnostics.Process.Start(proc1);
}
基本上,我只是尝试创建一个新流程,启动NUnit gui并运行测试。我不确定它是找不到.dll还是其他问题


任何帮助都将不胜感激——这是我的第一篇帖子,所以如果我遗漏了一些非常明显的东西,我会提前道歉。谢谢

您需要将进程的
工作目录
设置为NUnit目录。如果不这样做,则工作目录将是应用程序执行所在的目录

我建议使用流程的所有细节构建一个对象,并将其传递给
流程
构造函数。

您有

using nunit.framework;
在代码的顶端


其次,您是否在引用列表中包含了对nunit.core dll的实际引用?如果没有,请右键单击“引用”,然后单击“添加引用”。找到nunit.core.dll并附加它

是的,我在代码顶部包括了“使用nunit.framework”。我还添加了对nunit.core dll的引用——这对我来说很奇怪。如果添加了引用,为什么nunit无法找到它?还有其他地方需要存储dll吗?我遇到了一个问题,我在项目文件夹以外的其他位置引用了.dll。通过将dll实际复制到项目的dependencies文件夹,解决了这个问题。查看是否有任何更改我在项目文件夹中的任何位置都看不到依赖项文件夹。Bin、Obj和Properties是列出的唯一文件夹。顺便说一下,我正在使用VisualStudio2010。我曾尝试将.dll存储在不同的位置(bin显然就是其中之一),但仍然会出现错误。是否还有其他地方可以放置.dll?我的项目文件夹中没有任何依赖项文件夹。Bin、Obj和Properties是唯一存在的文件夹。dll当前位于bin文件夹中。这不是第一个查找dll的地方吗?在解决方案资源管理器中,右键单击项目节点并单击属性。在项目设计器中,单击“参照路径”选项卡。在文件夹:字段中,输入包含组件的文件夹的完整路径。单击“添加文件夹”按钮,然后单击“确定”。我尝试了此操作,但收到一条新的错误消息,表示该文件不存在。我下载了一个更新版本的nunit,并再次经历了这个过程。gui将打开并尝试运行测试,但由于某种原因,远程控制窗口无法启动。所以我不确定现在的问题是什么。。。