"tf.exe checkout" блокирует файлы, хотя параметр /lock: ни один не используется в пост-сборке

В клиентском проекте мне нужно скопировать встроенную dll в другое место, где она будет проверена и распространена среди различных решений.

Я использую шаг после сборки для извлечения целевого файла с указанием параметра /lock:none, чтобы другие также могли создавать локальные сборки выпуска, а затем копировать мой новый dll-файл поверх старого.

Однако, когда я использую tf.exe checkout /lock:none в командной строке, все работает как положено. При использовании в сценарии после сборки файл блокируется, и никто больше не может его проверить.

Как я могу решить это?

1 ответ

Первый вопрос: зачем делать "оформление заказа" вместо "получить"? Если вы не собираетесь изменять исходный файл, нет причин делать заказ.

Чтобы конкретно ответить на этот вопрос, причина, по которой это происходит, заключается в том, что по умолчанию исполняемые файлы не допускают слияния. Это означает, что - несмотря ни на что - проверка DLL будет эксклюзивной проверкой.

Чтобы изменить это поведение, в Visual Studio 2010:

  1. Перейти к Team меню
  2. Выбрать Team Project Collection Settings, затем
  3. Выбрать Source Control File Types
  4. найти Executable Files в списке файлов и отредактируйте его, чтобы включить объединение файлов

Нажмите OK, чтобы принять ваши изменения, и вы должны быть готовы.

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