it-swarm.com.de

Das Projekt kann aufgrund einer fehlenden Datei SqlServer.targets nach dem Upgrade auf Visual Studio 2013 nicht geladen werden

Nach dem Upgrade auf Visual Studio 2013 habe ich festgestellt, dass ein altes SQL-Projekt nicht geladen werden kann, wenn ich versuche, eine Lösung zu öffnen. Der angezeigte Fehler ist:

Das importierte Projekt "C:\Programme (x86)\MSBuild\12.0\bin\SqlServer.targets" wurde nicht gefunden. Stellen Sie sicher, dass der Pfad in der Deklaration korrekt ist und die Datei auf der Festplatte vorhanden ist. C:\Einige\Pfad\Nach\Projekt\Database.sqlproj

In meiner .sqlproj-Datei habe ich die Zeile 

<Import Project="$(MSBuildToolsPath)\SqlServer.targets" />

was in Visual Studio 2012 in C:\Windows\Microsoft.NET\Framework\v4.0.30319\SqlServer.targets aufgelöst wird, in Visual Studio 2013 jedoch in C:\Program Files (x86)\MSBuild\12.0\bin\SqlServer.targets. Die SqlServer.targets-Datei befindet sich jedoch an keinem dieser Speicherorte.

Vermutlich liegt dies daran, dass MSBuild Teil von Visual Studio ist und nicht Teil von .NET Framework.

Weiß jemand, wie Sie dieses Problem beheben und dieses Projekt nach Visual Studio 2013 migrieren können?

27
Chris

Ich hatte das gleiche Problem, als ich versuchte, eine VS 2010-Lösung unter VS 2013 zu erstellen. Die Lösung bestand darin, die Lösungsdatei zuerst auf VS 2013 zu aktualisieren. Danach funktionierte es ohne weitere Modifikationen.

0
Blade

Einfach SqlServer.targets von C:\Windows\Microsoft.NET\Framework\v3.5 in C:\Program Files (x86)\MSBuild\12.0\Bin kopiert und es hilft. VS2013 kann jetzt das alte Projekt öffnen.

25
Vladimir Dronov

Bei einem Upgrade von Visual Studio 2008 auf 2013 hatte ich ein ähnliches Problem. Es dauerte eine Weile, aber ich musste SSDT (erneut) für VS 2013 installieren. Dann erstellte ich ein neues Datenbankprojekt, um den relativen Pfad zu ermitteln Die neue Datei sqlserver.targets. Die Datei sollte wie folgt aussehen:

  <Import Condition="'$(SQLDBExtensionsRefPath)' != ''" Project="$(SQLDBExtensionsRefPath)\Microsoft.Data.Tools.Schema.SqlTasks.targets" />
  <Import Condition="'$(SQLDBExtensionsRefPath)' == ''" Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" />

Das größte Hindernis, das ich zur Behebung dieses Fehlers gefunden habe, war der Versuch, die bereitgestellte Fehlermeldung zu verstehen (BC2014: Der Wert 'database' ist für die Option 'target' ungültig.)

Hoffe das hilft!

4
Rolan

Ich hatte das gleiche Problem und ich habe diesen Weg gelöst: Erstellen Sie einfach eine Datei mit dem Namen ' SQLServer.targets ' ein ' C:\Windows\Microsoft.NET\Framework\v4.0.30319 'mit folgendem Inhalt:

<Project xmlns="http://schemas.Microsoft.com/developer/msbuild/2003">

    <PropertyGroup>
           <SqlClrTargetsFullPath>$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\TeamData\Microsoft.Data.Schema.SqlClr.targets</SqlClrTargetsFullPath>
    </PropertyGroup>

    <Import Project="$(SqlClrTargetsFullPath)" Condition="Exists('$(SqlClrTargetsFullPath)')"/>
</Project>

Viel Glück.

2
Stephen Knupfer

Dies kann auch beim Öffnen eines älteren Projekts in Windows 10 auftreten

Ich hatte das gleiche Problem (SqlServer.targets wurde nicht gefunden) beim Öffnen einer alten SQL Server CLR-Assembly in Visual Studio 2010 unter Windows 10 dieselbe Version, die ursprünglich zum Schreiben der Assembly verwendet wurde.

Bestätigt, dass dasselbe Projekt in Visual Studio 2010 auf einem Windows 7-Computer einwandfrei geöffnet wurde.

Lösung

Beachten Sie die Fehlermeldung. In meinem Fall war es:

Das importierte Projekt "C:\Windows\Microsoft.NET\Framework\v4.0.30319\SqlServer.targets" wurde nicht gefunden. Stellen Sie sicher, dass der Pfad in der Deklaration korrekt ist und die Datei auf der Festplatte vorhanden ist.

Kopieren Sie einfach SqlServer.targets von dem in der Antwort von Vladimir Dronov angegebenen Ort "C:\Windows\Microsoft.NET\Framework\v3.5\SqlServer.targets" in das in der Fehlermeldung angegebene Verzeichnis.

In meinem Fall war das "C:\Windows\Microsoft.NET\Framework\v4.0.30319 \".

0
Jan1torEarl

Lösung 1:

Wenn das Projekt eine .csproj-Datei ist, sollten Sie überprüfen, ob Visual Studio während des Upgrades auch eine .sqlproj-Datei generiert hat. Wenn dies der Fall ist, können Sie dies stattdessen der Lösung hinzufügen.

Lösung 2:

Sie können versuchen, die folgende Zeile in der Datei .sqlproj zu ändern:

<Import Project="$(MSBuildToolsPath)\SqlServer.targets" />

zu

<Import Project="$(MSBuildBinPath)\SqlServer.targets" />
0
Radu Damian

Der Fehler, der sich aus mehreren dieser Lösungen ergibt

Ich habe eine bestimmte Frage gestellt ( C # VS 2013 Fehler 02019: Ungültiger Zieltyp für/target: muss "exe", "winexe", "library", "module", "appcontainerexe" oder "winmdobj" CSC angeben) bezüglich des von Chris Torng beschriebenen fatalen Buildfehlers unterhalb der Antwort von Vladimir Dronov:

Fehler 1 02019: Ungültiger Zieltyp für/target: muss "CSC" "exe", "winexe", "library", "module", "appcontainerexe" oder "winmdobj" angeben


Die Reparatur

Ich konnte den Fehler in Zusammenhang mit der Kompatibilität mit dem SQL Server-Entwicklertool in der VS2013 Community Edition beheben, indem ich die Ratschläge in diesem Forum befolgte:

https://connect.Microsoft.com/SQLServer/feedbackdetail/view/979839

Gepostet von bsclifton am 15.11.2014 um 07:18 Uhr

Hatte auch diese Ausgabe mit der Community 2013-Ausgabe; Zu den Tools-> Erweiterungen und Updates gehen und das "Microsoft SQL Server Update für Datenbank-Tools" aktualisieren. Das Problem wurde behoben. :)

Wenn dies für Sie nicht funktioniert, würde ich empfehlen, das Forum zu überprüfen, da es verschiedene andere Ideen zur Behebung des Problems bietet

0
Justin L.