У меня есть команда, которая строит проект базы данных. Сборка периодически прерывается. Несколько проектов успешно собраны, но «основной» проект в решении не может быть создан из-за этой ошибки
"" D: \ Builds \ 13 \ TeamProjectName \ my_build_name \ Sources \ my.project.name \ master.dbschema: Ошибка сборки TSD01236: Не удалось загрузить D: \ BUILDS \ 13 \ TeamProjectName \ my_build_name \ SOURCES \ my. project.name \ MASTER.DBSCHEMA. [D: \ Строит \ 13 \ TeamProjectName \ my_build_name \ Sources \ my.project.name \ my.project.name.dbproj] ""
(имена изменены, чтобы защитить невинных)
Похоже, что файла там нет, но он включен как файл в проект базы данных, и у меня достаточно включено ведение журнала, чтобы я мог увидеть "get" для этого файла. С помощью удаленного взаимодействия с машиной сборки я обнаружил, что файл dbschema находится там.
Повторный запуск сборки всегда исправляет ее; удаленное взаимодействие с машиной и запуск msbuild на решении всегда работает; удаленное взаимодействие и загрузка базы данных в Vs.net, а перестройка всегда работает. Разработчики, работающие с решением, никогда не увидят эту ошибку.
Поиск по этому коду ошибки не сильно помог, так как в MSBuild я не вижу командной строки, которая отправляется в vsdbcmd (я даже не знаю, используется ли она, msbuild может получить к ней доступ в другой путь).
Мы запускаем tfs 2010, но при сборке выполняется шаблон «обновления» и выполняется рукописный файл сборки, который выполняет сборку базы данных, а затем некоторые другие важные вещи. Изменение всего этого на новый шаблон сборки, вероятно, будет непопулярным, если только нет веских оснований полагать, что это будет небольшой объем работы, поскольку это незначительное затруднение.
мои решения - предположения, поскольку я не могу повторить проблему повторно:
- подожди, посмотри, хватит ли ошибок, покажи шаблон. Я подозреваю, что-то делать
с тем, как запускается сборка, это происходит по таймеру, не делая CI.
ручные триггеры, кажется, не выходят из строя.
- измените сборки на "перестроить" и надейтесь, что что-то сбрасывает
- изменить решение для ссылок, как это msdn
- (дикая догадка) изменить шаблоны сборки на 2010 и / или переписать все для работы другим способом.