"tf.exe checkout" блокирует файлы, хотя параметр /lock: ни один не используется в пост-сборке
В клиентском проекте мне нужно скопировать встроенную dll в другое место, где она будет проверена и распространена среди различных решений.
Я использую шаг после сборки для извлечения целевого файла с указанием параметра /lock:none, чтобы другие также могли создавать локальные сборки выпуска, а затем копировать мой новый dll-файл поверх старого.
Однако, когда я использую tf.exe checkout /lock:none в командной строке, все работает как положено. При использовании в сценарии после сборки файл блокируется, и никто больше не может его проверить.
Как я могу решить это?
1 ответ
Первый вопрос: зачем делать "оформление заказа" вместо "получить"? Если вы не собираетесь изменять исходный файл, нет причин делать заказ.
Чтобы конкретно ответить на этот вопрос, причина, по которой это происходит, заключается в том, что по умолчанию исполняемые файлы не допускают слияния. Это означает, что - несмотря ни на что - проверка DLL будет эксклюзивной проверкой.
Чтобы изменить это поведение, в Visual Studio 2010:
- Перейти к
Team
меню - Выбрать
Team Project Collection Settings
, затем - Выбрать
Source Control File Types
- найти
Executable Files
в списке файлов и отредактируйте его, чтобы включить объединение файлов
Нажмите OK, чтобы принять ваши изменения, и вы должны быть готовы.