Après avoir mis à niveau vers Visual Studio 2013, j'ai constaté qu'un ancien projet SQL ne se charge pas lorsque je tente d'ouvrir une solution. L'erreur affichée est:
Le projet importé "C:\Program Files (x86)\MSBuild\12.0\bin\SqlServer.targets" est introuvable. Confirmez que le chemin dans la déclaration est correct et que le fichier existe sur le disque. C:\Some\Path\To\Project\Database.sqlproj
Dans mon fichier .sqlproj
, j'ai la ligne
<Import Project="$(MSBuildToolsPath)\SqlServer.targets" />
qui dans Visual Studio 2012 est résolu en C:\Windows\Microsoft.NET\Framework\v4.0.30319\SqlServer.targets
mais dans Visual Studio 2013, il est résolu en C:\Program Files (x86)\MSBuild\12.0\bin\SqlServer.targets
. Toutefois, le fichier SqlServer.targets
ne se trouve dans aucun de ces emplacements.
Cela est probablement dû au fait que MSBuild est devenu une partie de Visual Studio, plutôt qu’il fait partie du .Net Framework.
Quelqu'un sait-il comment résoudre ce problème et migrer ce projet vers Visual Studio 2013?
J'ai eu le même problème lorsque j'ai essayé de créer une solution VS 2010 sous VS 2013. Le correctif consistait à mettre à niveau le fichier de solution vers VS 2013. Après cela, cela a fonctionné sans autre modification.
Il suffit de copier SqlServer.targets
de C:\Windows\Microsoft.NET\Framework\v3.5
à C:\Program Files (x86)\MSBuild\12.0\Bin
et cela aide. VS2013 est maintenant capable d'ouvrir l'ancien projet.
J'ai eu un problème similaire lors de la mise à niveau de Visual Studio 2008 à 2013. .. Il a fallu un certain temps, mais j'ai dû installer le SSDT pour VS 2013 (à nouveau), puis j'ai créé un nouveau projet de base de données pour connaître le chemin d'accès relatif au nouveau fichier sqlserver.targets . Il devrait ê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 gros obstacle que j'ai trouvé à corriger cette erreur était d'essayer de comprendre le message d'erreur fourni (BC2014: la valeur 'base de données' n'est pas valide pour l'option 'cible')
J'espère que cela t'aides!
J'ai eu le même problème et j'ai résolu de cette façon: Créez simplement un fichier nommé ' SQLServer.targets ' 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.
J'ai eu le même problème (SqlServer.targets introuvable) lors de l'ouverture d'un ancien assemblage SQL Server CLR dans Visual Studio 2010 sous Windows 10, la même version utilisée à l'origine pour écrire Assembly .
Confirmé que le même projet s'est parfaitement bien ouvert dans Visual Studio 2010 sur un ordinateur Windows 7.
Faites attention au 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é. Confirmez que le chemin dans la déclaration est correct et que le fichier existe sur le disque.
Copiez simplement SqlServer.targets à partir de l'emplacement indiqué dans la réponse de Vladimir Dronov, "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 \".
Si le projet est un fichier .csproj, vous devez vérifier si Visual Studio a également généré un fichier .sqlproj lors de la mise à niveau. Si tel est le cas, vous pouvez ajouter cela à la solution.
Vous pouvez essayer de modifier la ligne suivante dans le fichier .sqlproj:
<Import Project="$(MSBuildToolsPath)\SqlServer.targets" />
à
<Import Project="$(MSBuildBinPath)\SqlServer.targets" />
J'ai posté une question spécifique ( Erreur C # VS 2013 2013 02019: Type de cible non valide pour/cible: doit spécifier 'exe', 'winexe', 'bibliothèque', 'module', 'appcontainerexe' ou 'winmdobj' CSC ) en ce qui concerne l'erreur de construction fatale décrite par Chris Torng en dessous de la réponse de Vladimir Dronov:
Erreur 1 02019: Type de cible non valide pour/target: vous devez spécifier 'exe', 'winexe', 'bibliothèque', 'module', 'appcontainerexe' ou 'winmdobj' CSC
J'ai pu supprimer l'erreur liée aux problèmes de compatibilité des outils de développement SQL Server dans VS2013 Community Edition en suivant les conseils de ce forum:
https://connect.Microsoft.com/SQLServer/feedbackdetail/view/979839
Publié par bsclifton le 15/11/2014 à 07h18
Avait aussi ce problème avec l'édition 2013 de la Communauté; Aller dans Outils-> Extensions et mises à jour et mettre à jour "Mise à jour de Microsoft SQL Server pour les outils de base de données" a résolu le problème :)
Si cela ne fonctionne pas pour vous, je vous recommande de consulter ce forum car il offre plusieurs autres idées pour résoudre le problème