2016-12-08 4 views
0

Ich habe ein Projekt mit Tests basierend auf SpecFlow. Manchmal gibt es ein Problem, dass eine Arbeits Quellcode (funktioniert auf anderen Computern und den Server aufzubauen) nicht in Visual Studio 2015 mit einem Info load failed in Projektmappen-Explorer und folgenden Fehlermeldung auf Ausgabekonsole laden:SpecFlow Projekt laden fehlgeschlagen

C:\Project\Tests.csproj : error : The imported project "C:\Project\packages\SpecFlow.2.1.0\tools\TechTalk.SpecFlow.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk. C:\Project\Tests.csproj

Projekt verwendet:

  • SpecFlow für Visual Studio 2015 (VS-Erweiterung)
  • SpecFlow (nuget Paket)

Antwort

2

Es stellte sich heraus, dass es sich um ein Problem mit der Projektdatei (csproj) handelte. Es wurde manuell erweitert mit TechTalk.SpecFlow.targets wie folgt:

<Import Project="..\packages\SpecFlow.2.1.0\tools\TechTalk.SpecFlow.targets" /> 

Aber wenn Verzeichnisse gereinigt wurden (zum Beispiel durch git reset hart), gab es keine Pakete, so Projekt konnte nicht geladen werden, um die führen nuget wiederherzustellen. Die Lösung bestand darin, Import mit einer Bedingung Exists zu erweitern.

<Import Project="..\packages\SpecFlow.2.1.0\tools\TechTalk.SpecFlow.targets" 
    Condition="Exists('..\packages\SpecFlow.2.1.0\tools\TechTalk.SpecFlow.targets')" />