При редактировании ресурсов.файл resx, ресурсы.Дизайнер.cs не обновляется, потому что TFS не проверяет его

Я использую систему управления версиями TFS.

когда я добавляю новый ключ ресурса в свой файл ресурсов-Resources.resx-и нажмите save, TFS проверяет ресурсы.resx, но не проверяет ресурсы.Дизайнер.цезий. Это приводит к обновлению ресурсов.Дизайнер.cs для сбоя с ошибкой:

команда, которую вы пытаетесь выполнить, не может быть завершена, потому что ресурсы файла.Дизайнер.cs', который должен быть изменен, не может быть изменен. Если файл находится в системе управления версиями, может потребоваться проверить, если файл доступен только для чтения на диск, вы можете изменить его атрибуты.

enter image description here

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

обратите внимание, что у меня есть TFS, настроенный на "проверить на сохранение", а не "проверить на редактирование". Это намеренно сократить количество неотредактированных чеков.

EDIT:

это происходит и в других типах файлов. Например, я использую RazorGenerator для создания скомпилированных представлений MVC. Та же проблема возникает, если я пытаюсь отредактировать .cshtml без проверки .сгенерированный.КС в первую очередь.

обновление:

этот вопрос на всех (насколько я видел) файлы с кодом автогенерируемые: .resx файл, .edmx-файла .аспн, .cshtml (при использовании RazorGenerator для скомпилированных представлений) и т. д. Я решил, что это не стоит боли только за то, что "на edit: ничего не делать". Я решил сбросить это до "on edit: checkout automatically". Спасибо всем за Ваш вклад. Нет, спасибо команде TFS за этот провал.

4 ответов


Ну, я не думал, что это считается ответом, поэтому я написал его в комментарии. Проверка при сохранении запускается только при сохранении файла, она не запускается при автогенерации файла (автогенерация не является триггером для сохранения, который выполняет проверку, поскольку этот файл редактируется пользовательским инструментом, назначенным resx).

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


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

вы можете проверить это самостоятельно, проверив один файл и сразу же проверить. TFS скажет вам там, где нет изменений, и проверка отменена.

enter image description here

поэтому, возможно, подумайте о том, чтобы вернуть его в checkout on edit? Как упоминалось в другом ответе, это будет решение ваших проблем...


Я думаю, что это проблема

обратите внимание, что у меня есть TFS, настроенный на "проверить на сохранение", а не "проверьте на edit". Это преднамеренно для уменьшения количества неотредактированные проверки.

чтобы избежать вышеуказанной проблемы, вернуться к настройкам по умолчанию. Затем загрузите TFS power tools. Затем используйте эту команду, чтобы отменить изменения, которые извлечены, но не содержат изменений

tfpt uu /noget

обновление: при изменении выше установки проблема больше не возникает. Подробнее см. ниже обсуждение в комментариях.


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

TFS (особенно, когда сервер медленный, и у вас есть регулярные проблемы с сетью) - это катастрофа для меня как разработчика. VS ищет модификации только по файлам в решении, и как вы можете видеть не все из них. При использовании сторонних инструментов (fitnesse для интеграционных тестов или пользовательской сборки шаги) , который требует изменения файлов вне VS-вы, вероятно, получите ту же ошибку, что и у вас.

но мы нашли решение. На моей машине я использую git. Мы установили git-tfs. И все, что вам нужно помнить, это три волшебные команды

  • git TFS fetch
  • git merge remotes/tfs/default
  • в Git в TFS КТ