Подтвердить что ты не робот

Проект не загружается из-за отсутствия файла SqlServer.targets после обновления до Visual Studio 2013

После обновления до Visual Studio 2013 я обнаружил, что старый проект SQL не загружается при попытке открыть решение. Отображаемая ошибка:

Не удалось найти импортированный проект "C:\Program Files (x86)\MSBuild\12.0\bin\SqlServer.targets". Убедитесь, что путь в объявлении правильный, и что файл существует на диске. C:\Some\Путь\К\Project\Database.sqlproj

В моем файле .sqlproj у меня есть строка

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

который в Visual Studio 2012 разрешает C:\Windows\Microsoft.NET\Framework\v4.0.30319\SqlServer.targets, но в Visual Studio 2013 это разрешает C:\Program Files (x86)\MSBuild\12.0\bin\SqlServer.targets. Однако файл SqlServer.targets не находится ни в одном из этих местоположений.

Предположительно, это связано с тем, что MSBuild становится частью Visual Studio, а не является частью .NET Framework.

Кто-нибудь знает, как исправить эту проблему и перенести этот проект на Visual Studio 2013?

4b9b3361

Ответ 1

У меня возникла такая же проблема при попытке построить VS 2010 решение под VS 2013. Исправление заключалось в том, чтобы сначала обновить файл решения до VS 2013. После этого он работал без дополнительных изменений.

Ответ 2

Просто скопировано SqlServer.targets от C:\Windows\Microsoft.NET\Framework\v3.5 до C:\Program Files (x86)\MSBuild\12.0\Bin, и это помогает. VS2013 теперь может открыть старый проект.

Ответ 3

У меня была аналогичная проблема при обновлении с Visual Studio 2008 до 2013 года. Мне потребовалось некоторое время, но мне пришлось установить SSDT для VS 2013 (снова), затем я создал новый проект базы данных, чтобы узнать относительный путь к новому файлу sqlserver.targets. Он должен быть следующим:

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

Самое большое препятствие, которое я нашел для исправления этой ошибки, заключалось в том, чтобы понять сообщение об ошибке (BC2014: значение "база данных" недопустимо для опции "target" )

Надеюсь, это поможет!

Ответ 4

У меня была та же проблема, и я решил так: Просто создайте файл с именем " SQLServer.targets" на " C:\Windows\Microsoft.NET\Framework\v4.0.30319" со следующим содержимым:

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

Удачи.

Ответ 5

Ошибка, возникающая из нескольких из этих решений

Я отправил конкретный вопрос (С# VS 2013 Ошибка 02019: Недопустимый тип цели для /target: должен указывать "exe" , "winexe" , "library" , "module" , "appcontainerexe" или "winmdobj" CSC) относительно ошибки со смертельным исходом, описанной Крисом Торнгом ниже, Владимир Дронов отвечает:

Ошибка 1 02019: Недопустимый тип цели для /target: должен указывать 'exe', 'winexe', 'library', 'module', 'appcontainerexe' или 'winmdobj' CSC


Исправление

Мне удалось избавиться от ошибки, связанной с проблемами совместимости инструментов SQL Server dev в VS2013 Community Edition, следуя советам на этом форуме:

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

Отправленный bsclifton на 15.11.2014 в 7:18

Была ли эта проблема также с выпуском Community 2013; В "Инструменты" > "Расширения и обновления" и "Обновление Microsoft SQL Server для инструментария базы данных" была устранена проблема:)

Если это не сработает для вас, я бы рекомендовал проверить этот форум, поскольку он предлагает несколько других идей по устранению проблемы.

Ответ 6

Решение 1:

Если проект является файлом .csproj, вы должны проверить, генерировал ли Visual Studio файл .sqlproj при обновлении. Если это так, вы можете добавить это вместо решения.

Решение 2:

Вы можете попробовать изменить следующую строку в файле .sqlproj:

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

к

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