2015-05-22 8 views
0

Я надеюсь, что вы можете помочь мне решить эту проблему раздражения в процессе разработки.Смешанная среда Dev: автоматизация Visual Studio .csproj обновлений от Git/TFS?

Я сторонний разработчик, работающий над проектом, где большинство других разработчиков используют MS Visual Studio, а я нет. У нас есть TFS, и я могу проверить код и внести изменения локально.

После внесения изменений, я проверяю свой код на местный Git repo через git add и git commit, затем нажимаем на TFS через git tf checkin.

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

  • Неужели кто-нибудь столкнулся с подобной ситуацией и нашел решение?
  • Может быть, инструмент, который может заметить добавленные файлы и обновить файл .csproj, чтобы он соответствовал?
  • Возможно, есть параметр в Visual Studio, чтобы он замечал новые файлы в своих каталогах и автоматически добавлял их в проект?

Заранее благодарим за любые предложения.

ответ

2

Существует множество возможных решений. Файл .csproj написан на диалекте MSBuild XML, и он имеет много энергии: есть целый book, который объясняет все нюансы.

Решение 1

редактируются вручную файл .csproj, добавляя новые файлы.

Решение 2

Как и выше, но вам использовать подстановочные знаки для имен файлов, например <Content Include="Images\orderedList*.png" />

Решение 3

Включить отдельный .proj файл, так что понятно, что управляется вами. В основном .csproj добавить <Import Project="Felix.proj" /> , чем создать свой отдельный Felix.proj <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Content Include="Images\orderedList*.png" /> </Project>

и мы можем идти дальше, но это может стать отправной точкой.

Раствор 4

Другой маршрут, чтобы изменить свой рабочий процесс: совершить с помощью Visual Studio, а не в командной строке.Вот как:

  • Установка Visual Studio (по крайней мере 2013 Update 4, Community Edition должно быть в порядке)
  • редактировать/добавлять файлы так, как вам нравится
  • Откройте .csproj с помощью Visual Studio
  • на панели обозревателя решений выберите Показать все файлы опцию
  • правой кнопкой мыши на отсутствующих файлов/папок и выберите Включить в проекте
  • сохранить изменения
  • переключиться на вкладку Team Explorer, вы должны увидеть красные кнопки операций Git
  • выберите Изменения и сделать вашу фиксацию
  • обратно в командную строку для git tf

YMMV

Solution 5

Напишите свой собственный инструмент, который разобрал git status, добавьте добавленные файлы в .csproj и добавьте это на сцену. Сценарий может это сделать.

+0

Это отличная отправная точка, спасибо за ваши предложения. К сожалению, это приводит к тому, что мне все еще нужно вручную редактировать файл ... какие-либо идеи о том, как я могу автоматизировать этот процесс? Может быть, что-то связано с заявлениями Git 'add'? –

+0

Развернуть ответ –