2015-09-14 4 views
3

Когда у меня есть проект базы данных SQL Server (.sqlproj) в решении Visual Studio, я замечаю, что этот конкретный проект всегда создается каждый раз при создании решения, даже если в файлах проекта нет изменений ,Visual Studio .sqlproj всегда построен

Это не соответствует нормальному проекту C# (.csproj), который создается только при изменении любого файла.

Я пробовал прокручивать msbuild вывод многословности, и, похоже, он всегда строит этот проект без особой причины.

Есть ли причина, почему .sqlproj всегда построен? Есть ли способ сделать его сборку только при изменении файла?

+0

Любая удача в выяснении, почему? –

+0

Пока не знаю. В .sqlproj нет ничего подозрительного. Мои файлы просто «». Также нет дополнительных действий по сборке ... –

ответ

0

MSBuild имеет возможность сделать Incremental Build. Основная идея заключается в следующем:

MSBuild пытается найти сопоставление 1-к-1 между значениями этих атрибутов. Если существует сопоставление от 1 до 1, MSBuild сравнивает отметку времени каждого входного элемента с меткой времени своего соответствующего выходного элемента. Выходные файлы, которые не имеют сопоставления 1 к 1, сравниваются со всеми входными файлами. Элемент считается обновленным, если его выходной файл имеет тот же возраст или новее, чем его входной файл или файлы.

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

Смежные вопросы