Существует ли более простой способ объединения файлов Windows Forms .Designer? - PullRequest
12 голосов
/ 16 марта 2012

Мы только что перешли с TFS на Mercurial для нашей небольшой команды.Основной проект, над которым работают 3 человека, - это приложение Windows Forms на C #.Каждый раз, когда вы используете дизайнер, даже для простых изменений, он много перестраивает и переходит в файл .Designer.Если над этим файлом работают два человека, даже внося простые изменения, объединение станет настоящим кошмаром.Есть ли простой способ решить эту проблему?В TFS мы отключили одновременное редактирование, поэтому у нас не было этой проблемы.

Ответы [ 3 ]

1 голос
/ 17 марта 2012

Проблема в том, что каждый раз движок кода генерирует код в другом порядке !!! что делает слияние боль.

Дизайнер WinForm (.NET), дизайнер Swing (Java) используют механизм генерации кода.

ASP.NET designer.cs содержит только поле поддержки, которое менее подвержено риску.

Поле поддержки WPF генерируется в файле obj / *. G.cs, который не требуется для контроля исходного кода, поэтому проблем со слиянием нет.

1 голос
/ 16 марта 2012

Слияние файлов такого типа всегда болезненно ... Это причина, почему существуют некоторые "блокирующие" расширения для Mercurial, поэтому вы можете иметь тот же рабочий процесс, что и с TFS, если это необходимо.

Например, вы можете использовать расширение Lock , написанное Мартином Гайслером, для блокировки файлов .Designer до следующего push, тем самым вы избежите любых одновременных изменений, тем самым избежав слияния.

0 голосов
/ 12 июня 2019

Это то, что я делаю:

  1. Копирование / использование .Desinger.cs из мастер / разработка ветки и открытие проекта в VS
  2. Копирование всего проекта (все файлы с .git) и извлеките ветку your_feature и откройте проект в VS
    • , теперь на этом этапе у вас должно быть 2 экземпляра VS (один на главной ветви и один на your_feature)
  3. Copyуправляет (ctrl + c) (в режиме / режиме разработки) от одного VS к другому

не идеальное решение, но очень помогает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...