2016-09-13 2 views
1

Ich erhalte einen Fehler beim Versuch, Selenium w/C# zu verwenden. Ich habe gestern Selen verwendet und ich hatte 0 Probleme. Und fragte sich, was das verursachen könnte.Unhandled Ausnahmefehler erhalten: System.IO.FileNotFoundException:

Der Fehler

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) 

Was ich tue, um den Fehler erstellen

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

    } 
+1

Aus den Details Ihres Fehlers sieht es so aus, als ob jemand die WebDriver-DLL von überall entfernt hat, wo Ihr Programm danach sucht. – krillgar

+0

Ich benutze Jetbrains IDA (Rider) und kann Pakete aus dem IDA installieren. Und ich habe es neu installiert und ich bekomme immer noch das gleiche Problem. – nooby

Antwort

0

Die Webdriver.dll fehlt.

Das erste, was ich Ihnen vorschlagen zu überprüfen ist die binäre Ausgabeordner (zum Beispiel bin/debug Ordner, die Sie aus Ihren Visual Studio-Projekteinstellungen überprüfen können). Sie werden alle Ihre referenzierten DLLs und Ihr Projekt selbst in diesem Ordner finden. Es ist wahrscheinlich, dass Ihre Webdriver.dll nicht in den Ausgabeordner kopiert wird. Dies geschieht normalerweise, wenn Sie eine externe Referenz (DLL) hinzufügen, indem Sie das Dialogfeld Visual Studio für Referenz hinzufügen verwenden. Um das Problem zu beheben, klicken Sie auf die Webdriver-DLL-Referenz, und stellen Sie im Eigenschaftenfenster sicher, dass copylocal = true lautet.

+0

Ich benutze Jetbrains IDE (Rider) ... Und Webdriver.dll ist in meiner Referenzen Registerkarte. Auch kann ich es in meiner IDE ohne irgendein Problem laufen lassen, es ist gerade, wenn ich es baue. – nooby

+0

@nooby Hinzufügen einer DLL zu Ihrer Referenz Registerkarte macht Ihren Compiler glücklich, aber es bedeutet nicht unbedingt, dass die DLL in das Ausgabeverzeichnis kopiert wird. Sie müssen sicherstellen, dass Ihre IDE die Kopie erstellt. CLR hat eine komplizierte Mechanik, um die DLL während der Laufzeit zu finden (Hier ist ein Dokument, aber Sie müssen nicht durch diese https://msdn.microsoft.com/en-us/library/yx7xezcf(v=vs.110) lesen .aspx). Wenn erwartet wird, dass die DLL im GAC der Zielumgebung vorhanden ist, kopiert die IDE die (Webdriver) -Dll nicht in den Ausgabeordner. – acai