Ответ 1
У меня возникла такая же проблема при попытке построить VS 2010 решение под VS 2013. Исправление заключалось в том, чтобы сначала обновить файл решения до VS 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?
У меня возникла такая же проблема при попытке построить VS 2010 решение под VS 2013. Исправление заключалось в том, чтобы сначала обновить файл решения до VS 2013. После этого он работал без дополнительных изменений.
Просто скопировано SqlServer.targets
от C:\Windows\Microsoft.NET\Framework\v3.5
до C:\Program Files (x86)\MSBuild\12.0\Bin
, и это помогает. VS2013 теперь может открыть старый проект.
У меня была аналогичная проблема при обновлении с 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" )
Надеюсь, это поможет!
У меня была та же проблема, и я решил так: Просто создайте файл с именем " 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>
Удачи.
Я отправил конкретный вопрос (С# 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 для инструментария базы данных" была устранена проблема:)
Если это не сработает для вас, я бы рекомендовал проверить этот форум, поскольку он предлагает несколько других идей по устранению проблемы.
Если проект является файлом .csproj, вы должны проверить, генерировал ли Visual Studio файл .sqlproj при обновлении. Если это так, вы можете добавить это вместо решения.
Вы можете попробовать изменить следующую строку в файле .sqlproj:
<Import Project="$(MSBuildToolsPath)\SqlServer.targets" />
к
<Import Project="$(MSBuildBinPath)\SqlServer.targets" />