У нас есть файл MSBuild .proj
, который используется для создания и запуска множества проектов. У них есть ссылки на файлы друг другу. В связи с тем, что это ссылки на файлы, мы поддерживаем список зависимостей проекта от решения, так что MSBuild может идентифицировать заказ для выполнения проектов.MSBuild - Зависимости от проекта Построение порядка аномалии
Недавно у нас была проблема, когда наша команда разработчиков в США добавила новую ссылку на один проект, но не обновила список зависимостей. Это прекрасно подходит для них локально и на сервере. Однако для британской команды сборка последовательно не удалась для всех разработчиков.
Я пытаюсь понять, почему это так. Единственное, что я могу придумать, это то, что наша культура заставляет порядок сборки немного отличаться, когда два проекта по существу занимают одно и то же место. т. е. если предполагается, что в проектах А и В одинаковые зависимости, то порядок, в котором они строятся, произвольно определяется, и это может быть различным в культуре Великобритании против американской культуры.
Тем не менее, моя машина (она сломалась для меня) имеет формат Region, установленный на английском языке. И местоположение Великобритании.
Звучит ли это? или есть лучшее объяснение этому?
К сожалению, по ряду причин ссылки на проект, как правило, не используются в нашем решении. У нас есть сотни проектов, которые обычно открываются с использованием разных решений для сборки. Soln-Projects в одном из этих решений использует ref ref, но ссылки между разделами используют ссылки на файлы. –
Итак, если проект A зависит от результата проекта B, но использует ссылку на файл, а не ссылку на проект, вы не узнаете, есть ли у вас самый последний код из проекта B во время компиляции. Это просто какая-то сантехника, которую вы можете добавить, чтобы сделать вашу жизнь проще. Мне приходилось делать это в прошлом на решениях, включающих> 100 проектов. Это похоже на сложную задачу, но сэкономит вам много горя, больше не цепляясь за ошибочную парадигму :) – Nicodemeus
Наши сборки сконфигурированы, чтобы стереть шифер и начать с нуля каждую сборку, так что это не является серьезной проблемой , Я бы хотел переключиться на постепенный, но я считаю, что компания была укушена им в прошлом, поэтому хочу остаться на полных чистых сборках. Я считаю, что переключение на ссылки на файлы связано с тем, что мы используем более мелкие более целенаправленные решения для разработки. Project refs пытается попытаться удалить себя, когда вы удалите их из решения. –