Das Projekt kann aufgrund eines fehlenden SQL-Servers nicht geladen werden.zieldatei nach dem Upgrade auf Visual Studio 2013
-
20-12-2019 - |
Frage
Nach dem Upgrade auf Visual Studio 2013 habe ich festgestellt, dass ein altes SQL-Projekt beim Versuch, eine Lösung zu öffnen, nicht geladen werden kann.Der angezeigte Fehler ist:
Das importierte Projekt "C:\Program Dateien (x86) \ MSBuild \ 12.0 \ bin \ SQL Server.ziele" wurde nicht gefunden.Stellen Sie sicher, dass der Pfad in der Deklaration korrekt ist und dass die Datei auf der Festplatte vorhanden ist.C:\Some\Path o\Project\Database .sqlproj
In meinem .sqlproj
datei Ich habe die Zeile
<Import Project="$(MSBuildToolsPath)\SqlServer.targets" />
was in Visual Studio 2012 zu löst C:\Windows\Microsoft.NET\Framework\v4.0.30319\SqlServer.targets
in Visual Studio 2013 wird dies jedoch folgendermaßen aufgelöst C:\Program Files (x86)\MSBuild\12.0\bin\SqlServer.targets
.Allerdings ist die SqlServer.targets
die Datei befindet sich an keinem dieser Speicherorte.
Vermutlich liegt dies daran, dass MSBuild Teil von Visual Studio wird und nicht Teil von .Net Framework ist.
Weiß jemand, wie man dieses Problem behebt und dieses Projekt nach Visual Studio 2013 migriert?
Lösung
Ich hatte das gleiche Problem beim Versuch, eine VS 2010-Lösung unter VS 2013 zu erstellen.Das Update bestand darin, zuerst die Lösungsdatei auf VS 2013 zu aktualisieren.Danach funktionierte es ohne weitere Modifikationen.
Andere Tipps
Einfach kopiert SqlServer.targets
von C:\Windows\Microsoft.NET\Framework\v3.5
zu C:\Program Files (x86)\MSBuild\12.0\Bin
und es hilft.VS2013 kann jetzt das alte Projekt öffnen.
Ich hatte ein ähnliches Problem beim Upgrade von Visual Studio 2008 auf 2013.Es hat eine Weile gedauert, aber ich musste das SSDT für VS 2013 (erneut) installieren, dann habe ich ein neues Datenbankprojekt erstellt, um den relativen Pfad zum neuen SQL-Server herauszufinden.Zieldatei.Es sollte wie folgt sein:
<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 bei der Behebung dieses Fehlers war der Versuch, die bereitgestellte Fehlermeldung (BC2014) zu verstehen:der Wert 'Datenbank' ist für die Option 'Ziel' ungültig.)
Hoffe das hilft!
Ich hatte das gleiche Problem und habe es so gelöst:Erstellen Sie einfach eine Datei mit dem Namen 'SQL-Server.Leistungsziele' auf '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>
Glück.
Dies kann auch beim Öffnen eines älteren Projekts in Windows 10 auftreten
Ich hatte das gleiche Problem (SQLServer.ziele wurden 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
Achten Sie auf 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 dass die Datei auf der Festplatte vorhanden ist.
Kopieren Sie einfach SQLServer.ziele von dem in Vladimir Dronovs Antwort angegebenen Ort aus: "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 \".
Der Fehler, der sich aus mehreren dieser Lösungen ergibt
Ich habe eine spezielle Frage gestellt (C # gegen 2013 Fehler 02019:Ungültiger Zieltyp für /target:muss 'exe', 'winexe', 'library', 'module', 'appcontainerexe' oder 'winmdobj' CSC angeben) in Bezug auf den schwerwiegenden Build-Fehler, den Chris Torng unter Vladimir Dronovs Antwort beschrieben hat:
Fehler 1 02019:Ungültiger Zieltyp für /target:muss 'exe', 'winexe', 'library', 'module', 'appcontainerexe' oder 'winmdobj' CSC angeben
Der Fix
Ich konnte den Fehler im Zusammenhang mit Kompatibilitätsproblemen mit dem SQL Server-Entwicklungstool in der VS2013 Community Edition beheben, indem ich den Ratschlägen in diesem Forum folgte:
https://connect.microsoft.com/SQLServer/feedbackdetail/view/979839
Geschrieben von bsclifton am 15.11.2014 um 7:18 Uhr
Hatte dieses Problem auch mit der Community 2013 Edition;Gehen Sie zu Extras-> Erweiterungen und Updates und aktualisieren Sie "Microsoft SQL Server Update für Datenbanktools", um das Problem zu beheben :)
Wenn dies bei Ihnen nicht funktioniert, würde ich empfehlen, dieses Forum zu besuchen, da es einige andere Ideen zur Behebung des Problems bietet
Lösung 1:
Wenn das Projekt ein .csproj-Datei sollten Sie überprüfen, ob Visual Studio auch eine generiert hat.sqlproj-Datei während des Upgrades.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 zu ändern.sqlproj-Datei:
<Import Project="$(MSBuildToolsPath)\SqlServer.targets" />
zu
<Import Project="$(MSBuildBinPath)\SqlServer.targets" />