Le projet ne parvient pas à charger en raison du manque de SqlServer.les objectifs de fichier après la mise à niveau de Visual Studio 2013

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

Question

Après avoir mis à niveau vers Visual Studio 2013, j'ai trouvé qu'un vieux projet SQL ne parvient pas à charger quand je tente d'ouvrir une solution.L'erreur affichée est:

Le projet importé "C:\Program Files (x86)\MSBuild\12.0\bin\SqlServer.les cibles" n'a pas été trouvé.Confirmer que le chemin d'accès dans la déclaration est correcte, et que le fichier existe sur le disque.C:\Some\Path o\Project\Database.sqlproj

Dans mon .sqlproj fichier j'ai la ligne

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

qui dans Visual Studio 2012, décide de C:\Windows\Microsoft.NET\Framework\v4.0.30319\SqlServer.targets mais dans Visual Studio 2013 cela résout à C:\Program Files (x86)\MSBuild\12.0\bin\SqlServer.targets.Cependant, l' SqlServer.targets le fichier est dans aucun de ces endroits.

Sans doute cela est dû à MSBuild devenir une partie de Visual Studio, plutôt que de la partie .Net Framework.

Quelqu'un sait-il comment résoudre ce problème et de migrer ce projet pour Visual Studio 2013?

Était-ce utile?

La solution

J'ai eu le même problème lorsque vous essayez de construire un rapport à 2010 solution sous VS 2013.La solution était de mettre à niveau la solution du fichier à VS de 2013 en premier.Après cela, il a travaillé sans autre modification.

Autres conseils

Juste copié SqlServer.targets à partir de C:\Windows\Microsoft.NET\Framework\v3.5 pour C:\Program Files (x86)\MSBuild\12.0\Bin et ça aide.VS2013 est maintenant en mesure d'ouvrir l'ancien projet.

J'ai eu un problème similaire lors de la mise à niveau de Visual Studio 2008 à 2013.Ça a pris du temps mais j'ai dû installer la SSDT pour VS 2013 (à nouveau), puis j'ai créé un nouveau projet de base de données pour trouver le chemin d'accès relatif à la nouvelle sqlserver.les objectifs de fichier.Il doit être comme suit:

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

Le plus grand obstacle que j'ai trouvé à la correction de cette erreur a été d'essayer de comprendre le message d'erreur fourni (BC2014:la valeur de 'base de données' est pas valide pour l'option "cible")

Espérons que cette aide!

J'ai eu le même problème et je l'ai résolu de cette façon:Il suffit de créer un fichier nommé 'SQLServer.objectifs"on"C:\Windows\Microsoft.NET\Framework\v4.0.30319"avec le contenu suivant:

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

Bonne chance.

Cela peut également se produire lors de l'ouverture d'un ancien projet dans Windows 10

J'ai eu le même problème (SqlServer.les cibles n'a pas été trouvé) lors de l'ouverture d'une vieille SQL Server assembly CLR dans Visual Studio 2010 sur Windows 10, la même que la version utilisée à l'origine pour écrire l'assemblée.

Confirmé le même projet ouvert parfaitement bien dans Visual Studio 2010 sur un ordinateur Windows 7.

Solution

Attention à la message d'erreur.Dans mon cas, c'était:

Le projet importé “C:\Windows\Microsoft.NET\Framework\v4.0.30319\SqlServer.targets” n'a pas été trouvé.Confirmer que le chemin d'accès dans la déclaration est correcte, et que le fichier existe sur le disque.

Il suffit de copier SqlServer.des cibles à partir de l'emplacement indiqué dans l'Vladimir Dronov réponse, "C:\Windows\Microsoft.NET\Framework\v3.5\SqlServer.targets", dans le répertoire indiqué dans le message d'erreur.

Dans mon cas c'était "C:\Windows\Microsoft.NET\Framework\v4.0.30319\".

L'Erreur Résultante de Plusieurs de ces Solutions

J'ai posté une question spécifique (C# VS 2013 Erreur 02019:Non valide le type de cible pour /cible:devez spécifier 'exe', 'winexe', 'bibliothèque', 'module', 'appcontainerexe" ou "winmdobj" CSC) concernant la fatale erreur de construction décrites par Chris Torng ci-dessous Vladimir Dronov de réponse:

Erreur 1 02019:Non valide le type de cible pour /cible:devez spécifier 'exe', 'winexe', 'bibliothèque', 'module', 'appcontainerexe" ou "winmdobj" CSC


Le Correctif

J'ai été en mesure de se débarrasser de l'erreur liées à SQL Server dev outil de problèmes de compatibilité dans VS2013 Community Edition en en suivant les conseils de ce forum:

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

Posté par bsclifton sur 11/15/2014 à 7:18 AM

Eu ce problème aussi avec la Communauté édition 2013;Allez dans Outils->Extensions et les Mises à jour et la mise à jour "de Microsoft SQL Server mise à Jour de la base de données de l'outillage" a résolu le problème :)

Si cela ne fonctionne pas pour vous, je vous recommande de vérifier que le forum car il offre plusieurs autres idées sur la manière de résoudre le problème

Solution 1:

Si le projet est un .fichier csproj, vous devriez vérifier si Visual Studio a généré .sqlproj fichier lors de la mise à niveau.Si c'est le cas, vous pouvez l'ajouter à la solution de la place.

Solution 2:

Vous pouvez essayer de modifier la ligne suivante dans le .sqlproj fichier:

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

pour

<Import Project="$(MSBuildBinPath)\SqlServer.targets" />
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top