Должен ли Resources.Designer.cs находиться под контролем исходного кода? - PullRequest
28 голосов
/ 04 февраля 2010

У меня есть Resources.resx, который используется для генерации Resources.designer.cs. Нужно ли регистрировать Resources.designer.cs или я могу рассчитывать на то, что Visual Studio создаст его при необходимости?

Ответы [ 3 ]

15 голосов
/ 19 апреля 2011

Я предпочитаю: если он был изменен системой сборки, убедитесь, что процесс сборки создаст его, и не регистрируйте его.

Для автоматически сгенерированных файлов, таких как 'designer', я проверяю их. Они изменяются только тогда, когда меняются другие компоненты (мной). Он генерируется VS и не изменяется системой сборки.

7 голосов
/ 19 апреля 2011

Я столкнулся с вашим постом из-за проблемы, с которой я столкнулся, но не совсем, но это помогло мне найти временное решение. Это то, что я нашел, что может помочь тебе ...

Я создаю простой файл строкового ресурса. Затем я использую модифицированную программу CodeProject, которая переводит ее на иностранные языки. (Мы будем использовать профессиональные сервисы после стабилизации кода). Утилита не создает файлы designer.cs. Выполнение перестройки всех также не привело к повторному созданию файлов. Похоже, что каждый раз, когда вы используете внешний инструмент (не дизайнер Visual Studio) для изменения файла resx, вы потеряете эти синхронизированные изменения. В моем случае файл конструктора используется просто для строгого ввода строк в имена свойств. Если вы используете идентификаторы для извлечения строки (метод old old), тогда вам вообще не понадобятся эти файлы, и, следовательно, вам не нужно будет регистрировать их в системе контроля версий. Однако, если вы используете строго типизированный доступ к этим строкам (более современный метод), вы должны проверить их.

В качестве отступления ... Я нашел способ повторно синхронизировать эти файлы designer.cs с их счетчиками resx, так как это была моя проблема ... Они мне были нужны. Выбрав файл resx в обозревателе решений и установив для свойства CustomTool значение PublicResXFileCodeGenerator , можно мгновенно создать файл designer.cs. К сожалению, если он уже установлен, вы должны отменить его, а затем заново установить для создания файла. Если кто-нибудь знает способ заставить их воссоздать с помощью каких-то автоматических средств ... Я был бы очень признателен.

Спасибо.

2 голосов
/ 04 февраля 2010

Я не уверен на 100% в сценариях сборки этого файла. Я думаю, что, скорее всего, Studio или, точнее, msbuild, будет заново генерировать файл каждый раз, когда вы создаете свое приложение, но не уверены.

В любом случае, я бы все равно зарегистрировал этот файл по нескольким причинам

  1. Это значение по умолчанию для большинства поставщиков управления версиями в Visual Studio. Они думали об этой проблеме намного сложнее, чем я, и, вероятно, имеют веские причины для этого
  2. Отладка: маловероятно, что когда-либо возникнет проблема в Resource.Designer.cs, но если она возникнет, вам придется выполнить сборку до того, как вы сможете присоединить / отладить
  3. Контроль источников должен быть историей ваших источников. Что хорошего в этом, если вы не видите все источники, связанные с вашим приложением.

Первая причина - самая важная

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