Управляйте несколькими файлами конфигурации приложения во время разработки

В Beyond Compare вы можете определить «замены».

Пример: различия отмечены красным цветом: Differences are marked red

Затем вы можете перейти к Session-> Session Settings и установить замену: Define a replacement

Или еще проще: отметьте текст и определите немедленную замену: enter image description here enter image description here [ 1113]

Теперь разница не важна и отмечена синим цветом: enter image description here

Одним щелчком мыши вы можете игнорировать неважные различия (красная стрелка на скриншоте).

Техническое замечание: я использую BC4 с Pro Edition.

10
задан Gary Barrett 1 November 2019 в 16:21
поделиться

4 ответа

Несколько человек предложили использовать несколько конфигураций VS, что, я думаю, сработало бы, за исключением того, что мне потребовалось бы перестраивать решение каждый раз, когда я переключаюсь между конфигурациями.

Что я сделал. вместо этого казалось немного глупым, пока я этим занимался, но я использую его уже почти год, и он работает очень плавно. В моем проекте непосредственно я создаю отдельный файл app.config.XXX для каждого клиента. Фактический файл app.config используется исключительно для создания Settings.cs - он имеет все правильные имена настроек и их значения по умолчанию. Он никогда не копируется в каталоги сборки.

Затем я написал небольшую программу, которая позволяет мне выбирать клиента, которая просто просматривает каталоги для каждого проекта и, если я выбрал клиента XXX, копирует app.config.XXX в bin \ debug \ myprogram.exe.config и bin \ release \ myprogram.exe.config . Пока эта программа знает, где находится корень решения (я должен быть немного осторожен при каждом ответвлении кода), она работает как шарм.

2
ответ дан 3 December 2019 в 22:02
поделиться

Можно отослать это сообщение для некоторых хороших методов: Управление Несколькими Средами Конфигурационного файла с Событиями Перед сборкой

3
ответ дан 3 December 2019 в 22:02
поделиться

Вы можете определить несколько конфигураций решения Visual Studio, по одной для каждого клиента, и настроить целевые объекты MSBuild для своего проекта приложения Windows.

Я задокументировал шаги того, как я справился с этим Вот. Несколько файлов app.config для развертывания в разных средах

0
ответ дан 3 December 2019 в 22:02
поделиться

Вы также можете позволить Visual Studio автоматизировать подход Роберта следующим образом:

  1. Определите конфигурацию сборки для каждого клиента
  2. В событии после сборки просто xcopy app.config.xxx в ваша папка bin. Где XXX - это имя конфигурации сборки, доступной в VS. Что-то вроде: xcopy app.config. $ (ConfigurationName) $ (OutDir) / app.config

VS поместит отдельную сборку для ваших клиентов в отдельные папки вместе с соответствующим файлом конфигурации. bin / Client1 / bin / Client2 /

7
ответ дан 3 December 2019 в 22:02
поделиться