2012-07-02 3 views
5

Я использую Visual Studio 2010 с пакетом обновления 1 (SP1) с Team Foundation Server 2010. Всякий раз, когда я открываю проект, Visual Studio автоматически проверяет файл проекта (.csproj) вне (ни один из дочерних файлов, однако) и соответствующий файл .csproj.vspscc.Visual Studio 2010 и ненужная проверка TFS

Когда я сравниваю файл проекта в своем списке ожидающих изменений, он говорит, что файлы идентичны для файла .csproj и файла .csproj.vspscc - мы просто проверяем их или отменя изменения.

Может кто-нибудь объяснить, почему он это делает и как его можно исправить, чтобы он не проверял файлы .csproj и .vspscc каждый раз, когда мы открываем проект?

+0

Я ненавижу интегрированный контроль источника. –

+0

Для некоторых _unknown_ для меня причина, vs2010 обычно сохраняет все изменения в конфигурации решения/проекта в памяти. И vs2010 не собирается сохранять их на диск, пока вы явно не попросите сделать это, вызвав _Save All_ или закройте проект. Таким образом, легко представить ситуацию, когда вы обновляете исходный код и теряете все свои изменения в памяти. Возможно, это поведение требуется для проверки файлов проекта заранее. Это только мое личное мнение, основанное на работе с vs2010. – Akim

+0

Возможный дубликат [Как остановить Visual Studio от «всегда» проверки файлов решений?] (Http://stackoverflow.com/questions/1085978/how-to-stop-visual-studio-from-always-checkingoutout -solution-files) – LosManos

ответ

2

У нас была такая же проблема в моей команде. Проблема заключалась в том, что одна ссылка проекта указывала на другой (неправильный) каталог одного из рабочих мест нашего члена команды. Решение пантеифа идет в правильном направлении, но сравнение csproj-Files с TFS не поможет. По какой-то причине он говорит, что файлы идентичны, но если бы у меня был ручный взгляд на них, я понял, что это не так. Вы можете легко проверить это:

  • правой кнопкой мыши на проекте
  • Выберите "Unload Project"
  • правой кнопкой мыши снова
  • Выберите "Редактировать xxx.csproj"

Теперь есть более глубокий взгляд на «ProjectReference» -Tags. В моем случае «Include» -Attributes не были идентичны. Надеюсь, это тоже поможет.

Чтобы избежать подобных проблем, просто посмотрите на TFSGuide, особенно в главе 3.

0

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

Это не нормальное поведение, поэтому у вас может быть сторонняя утилита, которая выполняет действия над вашими проектными файлами; возможно, он редактирует их, а затем возвращает их таким же образом. Проверьте и отключите любые надстройки (меню «Сервис» -> «Менеджер объявлений»), и вы также можете проверить, какое другое расширение вы могли установить с помощью диспетчера расширений (также в меню инструментов).

+0

Когда я делаю сравнение, он говорит, что файлы идентичны. Почему я так озадачен этим. – Sean

+0

@Sean Возможно, существует более одного файла, составляющего «проект», появляющийся в VS. Есть ли у вас какие-либо «пользовательские» файлы конфигурации для управления версиями (например, * .csproj.user, * .suo или * .csproj.webinfo)? Они должны быть исключены из контроля источника. Кроме того, вы обнаружили какие-либо надстройки или расширения, которые были загружены, что может изменить поведение VS? Наконец, каковы типы проектов/шаблоны, используемые для создания проектов в вашем решении; Являются ли они стандартными шаблонами микширования? –

+0

Только файл проекта .csproj проверяется в источнике. У меня есть сторонние расширения, но сотрудники сталкиваются с одинаковыми проблемами (и у них нет установленных одинаковых расширений). Это стандартные шаблоны проектов, ничего необычного. – Sean

0

ВС, вероятно, устраняет проблему связывания, как правило, для ссылочной сборки.
Чтобы проверить, что происходит, просто откройте свое решение &, как только VS проверит * .csproj, 'save all' (Ctrl + Shift + S).

Переход к окну «Ожидающие изменения» и сравнение * .csproj должны выявить проблему.

+3

Когда я делаю сравнение, он говорит, что файлы идентичны. Почему я так озадачен этим. – Sean

1

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

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

0

Такая же проблема, которая произошла с моим решением, позже, я узнал, что у IIS, который я настроил в своем локальном, было другое имя VD, где, как и на сервере TFS, было назначено и проверено другое имя VD. Я открываю свое решение, он автоматически проверяет файл .sln. так как мой локальный VD отличается от моего локального.

Смежные вопросы