Das Projekt kann aufgrund eines fehlenden SQL-Servers nicht geladen werden.zieldatei nach dem Upgrade auf Visual Studio 2013

StackOverflow https://stackoverflow.com//questions/20006482

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?

War es hilfreich?

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" />
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top