Il progetto non riesce a caricare a causa del file SQLServer.Target mancante dopo l'aggiornamento a Visual Studio 2013

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

Domanda

Avendo aggiornato a Visual Studio 2013, ho scoperto che un vecchio progetto SQL non riesce a caricare quando tento di aprire una soluzione.L'errore visualizzato è:

.

Il progetto importato "C: \ Programmi (X86) \ MSbuild \ 12.0 \ bin \ sqlserver.targets" non è stato trovato.Confermare che il percorso nella dichiarazione è corretto e che il file esiste sul disco.C: \ alcuni \ path \ to \ progetto \ database.sqlproj

Nel mio file .sqlproj ho la riga

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

che in Visual Studio 2012 si risolve a C:\Windows\Microsoft.NET\Framework\v4.0.30319\SqlServer.targets ma in Visual Studio 2013 si risolve a C:\Program Files (x86)\MSBuild\12.0\bin\SqlServer.targets.Tuttavia, il file SqlServer.targets non è in nessuna di queste posizioni.

Presumibilmente ciò è dovuto a MSbuild diventare parte di Visual Studio, piuttosto che far parte del quadro .NET.

Qualcuno sa come risolvere questo problema e migrare questo progetto su Visual Studio 2013?

È stato utile?

Soluzione

Ho avuto lo stesso problema durante il tentativo di costruire una soluzione VS 2010 in VS 2013. La correzione è stata l'aggiornamento del file della soluzione a VS 2013 prima.Dopo di che ha funzionato senza ulteriori modifiche.

Altri suggerimenti

Ho appena copiato SqlServer.targets da C:\Windows\Microsoft.NET\Framework\v3.5 a C:\Program Files (x86)\MSBuild\12.0\Bin e aiuta.VS2013 è ora in grado di aprire il vecchio progetto.

Ho avuto un problema simile durante l'aggiornamento da Visual Studio 2008 al 2013. Ci è voluto un po 'ma ho dovuto installare il SSDT per VS 2013 (di nuovo), quindi ho creato un nuovo progetto di database per scoprire il percorso relativo al nuovo file SQLServer.Targets. Dovrebbe essere il seguente:

  <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" />
.

Il più grande ostacolo che ho trovato per fissare questo errore stava tentando di comprendere il messaggio di errore fornito (BC2014: il valore "database" non è valido per l'opzione 'Target')

Spero che questo aiuti!

Ho avuto lo stesso problema e ho risolto in questo modo: Basta creare un file denominato ' sqlserver.targets ' on ' c: \ windows \ microsoft.net \ framework \ v4.0.30319 ' con il seguente contenuto:

<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>
.

Buona fortuna.

Questo può verificarsi anche quando si apre un progetto precedente in Windows 10

Ho avuto lo stesso problema (SQLServer.target non è stato trovato) quando si apre un vecchio assembly CLR SQL Server in Visual Studio 2010 su Windows 10, la stessa versione utilizzata in origine per scrivere il montaggio . .

ha confermato lo stesso progetto aperto perfettamente fine in Visual Studio 2010 su un computer Windows 7.

soluzione

Prestare attenzione al messaggio di errore.Nel mio caso era:

.

Il progetto importato "C: \ Windows \ Microsoft.net \ framework \ v4.0.30319 \ sqlserver.targets" non è stato trovato.Confermare che il percorso nella dichiarazione è corretto e che il file esiste sul disco.

Copia semplicemente sqlserver.target dalla posizione indicata nella risposta di Vladimir Dronov, "C: \ Windows \ Microsoft.net \ Framework \ V3.5 \ SQLServer.target", nella directory indicata nel messaggio di errore. Nel mio caso era "C: \ Windows \ Microsoft.net \ Framework \ v4.0.30319 \".

L'errore risultante da diverse di queste soluzioni

Ho pubblicato una domanda specifica ( C # vs 2013 Errore 02019: tipo di destinazione non valido per / bersaglio: deve specificare 'exe', 'winexe', 'biblioteca', 'modulo', 'appcontainerexe' o 'winmdobj' csc ) per quanto riguarda L'errore di costruzione fatale descritto da Chris Torng sotto la risposta di Vladimir Dronov:

.

Errore 1 02019: tipo di destinazione non valido per / bersaglio: deve specificare 'exe', 'winexe', 'biblioteca', 'modulo', 'appcontainerexe' o 'winmdobj' csc


.

la correzione

Sono stato in grado di sbarazzarmi dell'errore relativo ai problemi di compatibilità degli utensili SQL Server Dev in VS2013 Community Edition seguendo il consiglio in questo forum:

https://connect.microsoft.com/sqlserver/feedbackdetail/view/979839

.

Pubblicato da bsclifton il 15/11/2014 alle 7:18 AM

ha avuto anche questo problema con l'edizione della Comunità 2013; Andare agli strumenti-> Estensioni e aggiornamenti e aggiornamento "Microsoft SQL Server Update per Totabase Tooling" risolto il problema :)

Se questo non funziona per te, consiglierei di controllare quel forum in quanto offre diverse altre idee per come risolvere il problema

Soluzione 1:

Se il progetto è un file .csproj, è necessario verificare se Visual Studio ha anche generato un file .SQLPROJ durante l'aggiornamento.Se questo è il caso, puoi aggiungerlo alla soluzione.

Soluzione 2:

È possibile provare a modificare la seguente riga nel file .SQLPROJ:

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

a

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top