#visual-studio-2017 #sql-server-data-tools
#visual-studio-2017 #sql-server-data-tools
Вопрос:
Я работаю над проектом SSDT. Сценарий публикации выглядит следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<IncludeCompositeObjects>True</IncludeCompositeObjects>
<TargetDatabaseName>VisionStaging</TargetDatabaseName>
<DeployScriptFileName>VisionStaging.sql</DeployScriptFileName>
<TargetConnectionString>xxxx</TargetConnectionString>
<BlockOnPossibleDataLoss>True</BlockOnPossibleDataLoss>
<CreateNewDatabase>True</CreateNewDatabase>
<ProfileVersionNumber>1</ProfileVersionNumber>
<IgnoreColumnOrder>True</IgnoreColumnOrder>
<IgnorePartitionSchemes>True</IgnorePartitionSchemes>
</PropertyGroup>
<ItemGroup>
<SqlCmdVariable Include="master">
<Value>master</Value>
</SqlCmdVariable>
</ItemGroup>
</Project>
Когда я открываю этот файл в Visual Studio, появляется несколько предупреждений:
Элемент ‘PropertyGroup’ в пространстве имен ‘http://schemas.microsoft.com/developer/msbuild/2003 ‘имеет недопустимый дочерний элемент ‘IncludeCompositeObjects’ в пространстве имен’http://schemas.microsoft.com/developer/msbuild/2003‘
Элемент ‘ItemGroup’ в пространстве имен ‘http://schemas.microsoft.com/developer/msbuild/2003 ‘имеет недопустимый дочерний элемент ‘SqlCmdVariable’ в пространстве имен ‘http://schemas.microsoft.com/developer/msbuild/2003 ‘.
Элемент ‘Project’ в пространстве имен ‘http://schemas.microsoft.com/developer/msbuild/2003 ‘ имеет неполное содержание.
Я полагаю, что последнее вызвано первыми двумя. Есть идеи, как избавиться от этих предупреждений? Обратите внимание, что эти файлы были созданы с помощью плагина SSDT, который является 15.1.61902.21100, и VS не показывает, что для него доступны какие-либо обновления. Другими словами, плагин SSDT поместил эти элементы в файл, а не я.
Комментарии:
1. Это можно игнорировать, проект будет успешно собран без ошибок, и у вас не должно возникнуть проблем с публикацией с использованием этого профиля публикации.
Ответ №1:
PropertyGroup содержит набор пользовательских элементов свойств.
Проверка схемы в этом случае MSBuild schema в среде разработки Visual Studio неправильно обрабатывает пользовательские свойства, поэтому, если у вас открыт ваш publish.xml
файл, вы всегда будете получать предупреждение о первом пользовательском элементе в PropertyGroup
разделе, таком как IncludeCompositeObjects
Это не должно вызвать никаких проблем, поскольку вы можете определять свои собственные свойства, они должны появляться только при открытии publish.xml
файла для редактирования в IDE.
Если вы внесете свои изменения и закроете файл, они должны исчезнуть.