2016-09-13 366 views
1

尝试使用Selenium W/C#,当我得到一个错误。我昨天确实使用了硒,而且我有0个问题。并想知道是什么原因造成的。获取未处理的异常错误信息:System.IO.FileNotFoundException:

错误

Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'WebDriver, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified. 
    at ConsoleApplication1.Program.Main(String[] args) 

我做些什么来重建错误

public static void Main(string[] args) 
    { 
     IWebDriver driver2 = new ChromeDriver(); 
     driver2.Navigate().GoToUrl("https://google.com") 

    } 
+1

从你的错误的细节,它看起来像有人移除了webdriver的DLL无论你的程序是寻找它。 – krillgar

+0

我使用jetbrain的IDA(Rider),它允许我从IDA安装软件包。我重新安装了它,但仍然遇到同样的问题。 – nooby

回答

0

的Webdriver.dll丢失。

,我建议你检查的第一件事是二进制输出文件夹(例如斌/ debug文件夹,您可以从您的Visual Studio项目设置检查)。你将所有你引用的dll和你的项目本身放在这个文件夹中。很可能您的Webdriver.dll未复制到输出文件夹。这通常发生在使用“添加引用”视觉工作室对话框添加外部引用(dll)时。要解决此问题,请单击Webdriver dll参考,然后在属性窗口中确保copylocal = true。

+0

我使用jetbrains IDE(Rider)...而Webdriver.dll在我的引用标签中。此外,我可以在我的IDE中运行它,而不会遇到任何问题,只是在构建它时。 – nooby

+0

@nooby将dll添加到引用选项卡会使您的编译器很高兴,但这并不一定意味着将dll复制到输出目录。您需要确保您的IDE正在进行复制。 CLR在运行时有一个复杂的机制,以找到该DLL(这里是一个文件,但你没有通过这个https://msdn.microsoft.com/en-us/library/yx7xezcf(v=vs.110阅读)的.aspx)。如果dll预计存在于目标环境的GAC中,IDE将不会将(Webdriver)dll复制到输出文件夹。 – acai