Можно ли удалить файл из группы "Элемент сборки" в проекте сервера SQL?

У моей команды прошли годы (до того как я присоединился) к тому, что я не принимал проекты баз данных sql server. В первую очередь потому, что есть элементы, которые имеют циклические ссылки, поэтому не могут быть созданы. Я понимаю, что рекомендуемый подход заключается в выделении или исправлении циклических ссылок.

Однако, чтобы доказать, что мы можем использовать их без необходимости исправления всей этой технической задолженности, я хотел бы подключить процесс сборки проекта моего сервера sql для удаления элементов из Build группа товаров. Я очень хорошо знаком с msbuild, но до сих пор, похоже, ничего не изменило этот файл, включенный в сборку, и не удалось.

Установка файла (ов) в None вместо Build работает нормально, пока не попробуем сделать сравнение схемы. Где он либо устанавливает их обратно для сборки, либо добавляет их снова с новым именем файла, оканчивающимся на _1.sql

<Target Name="CustomSqlHook" BeforeTargets="CheckRequiredProperties;BeforeBuild;All;_SetupSqlBuildInputs;SqlBuild;SqlStaticCodeAnalysis;ResolveArtifactReferences;Build">
    <Message Text="Build Before: @(Build)" Importance="high" />
    <Message Importance="High" Text="custom sql hooked" />
    <Message Importance="High" Text="build items are @(Build-&gt;Count())" />
    <ItemGroup>
      <Build Remove="project\Views\uvw_survey_history.sql" />
    </ItemGroup>
    <Message Text="-------------------------" />
    <Message Text="Build After: @(Build)" Importance="high" />
    <Message Importance="High" Text="build items are @(Build-&gt;Count())" />
</Target>

который показывает количество включенных элементов в группу сборки за период с 2978 по 2977. Однако сборка по-прежнему не выполняется для того же файла. SQLError

1 ответ

Вы можете добавить конфигурацию в свой проект (по умолчанию у вас есть Debug/Release - Add 'Schema').

Затем вручную отредактируйте файл проекта, добавив следующий атрибут к каждому элементу, который вы хотите включить только при сравнении схемы:

Condition = "'$ (Configuration)' == 'Schema'"

Другие вопросы по тегам