В VisualStudio 2010 у нас есть сценарий, в котором один dbproj (B) ссылается на другой dbproj (A).
В dbproj (A), если я установил действие сборки для одного из наших пользовательских сценариев sql в папке Scripts на «Копировать всегда» или «Копировать, если новее», то сборка завершится неудачей (только на сервере сборки) при сборке dbproj Б). Он пытается скопировать файл в (A), как если бы он был в (B).
При сборке dbproj (A) вывод выглядит следующим образом, что нормально:
_CopyOutOfDateSourceItemsToOutputDirectory:
Creating directory "D:\Builds\5\17\Binaries\Scripts".
Copying file from "Scripts\FortressMainUpdate.sql" to "D:\Builds\5\17\Binaries\Scripts\FortressMainUpdate.sql".
Copying file from "D:\Builds\5\17\Sources\Src\DataBase\MainDatabase\Scripts\FortressMainUpdate.sql" to "D:\Builds\5\17\Binaries\Scripts\FortressMainUpdate.sql".
А затем при сборке dbproj (B) сервер выдает следующие ошибки:
_CopyOutOfDateSourceItemsToOutputDirectory:
Building target "_CopyOutOfDateSourceItemsToOutputDirectory" partially, because some output files are out of date with respect to their input files.
Copying file from "Scripts\FortressOqtUpdate.sql" to "D:\Builds\5\17\Binaries\Scripts\FortressOqtUpdate.sql".
Copying file from "D:\Builds\5\17\Sources\Src\DataBase\OpenQueryTool\Scripts\FortressMainUpdate.sql" to "D:\Builds\5\17\Binaries\Scripts\FortressMainUpdate.sql".
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(3129,9): error MSB3021: Unable to copy file "D:\Builds\5\17\Sources\Src\DataBase\OpenQueryTool\Scripts\FortressMainUpdate.sql" to "D:\Builds\5\17\Binaries\Scripts\FortressMainUpdate.sql". Could not find file **'D:\Builds\5\17\Sources\Src\DataBase\OpenQueryTool\Scripts\FortressMainUpdate.sql'**. [D:\Builds\5\17\Sources\Src\DataBase\OpenQueryTool\CCO.Fortress.Database.OpenQueryTool.dbproj]
Copying file from "D:\Builds\5\17\Sources\Src\DataBase\OpenQueryTool\Scripts\FortressOqtUpdate.sql" to "D:\Builds\5\17\Binaries\Scripts\FortressOqtUpdate.sql".
Файл D:\Builds\5\17\Sources\Src\DataBase\OpenQueryTool\Scripts\FortressMainUpdate.sql
находится в dbproj (A) и никогда не существовал в \DataBase\OpenQueryTool\Scripts\
.
Это происходит только на сервере сборки. При локальном строительстве все нормально.
Наша цель - разместить эти файлы в месте размещения tfs вместе с сгенерированным файлом dbproj sql после того, как будет построено все решение.