Почему Visual Studio 2008 постоянно пытается сохранить файл моего проекта?

У меня есть полубольшой файл решения в Visual Studio 2008, в котором около 25-30 проектов.

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

Если я отменю операцию, нажму «Сохранить все», а затем повторю попытку, она спросит меня снова.

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

Что я делаю неправильно?

Насколько я могу судить, этот проект ничем не отличается от других.

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

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

Если кто-то может пролить свет на эту проблему, было бы неплохо.


Редактировать 1: в ответ на редактирование файлов проекта, чтобы убедиться, что он содержит записи SAK, все файлы проекта в решении уже содержат это. Чтобы убедиться, что я только что выполнил рекурсивный поиск узлов XML на уровне файлов, и все они содержат SAK.


person Lasse V. Karlsen    schedule 21.01.2009    source источник


Ответы (2)


Выгрузите проект из своего решения, щелкнув правой кнопкой мыши -> выгрузить. Затем откройте файл vcproj/csproj в текстовом редакторе, щелкнув правой кнопкой мыши->Редактировать проект. Есть некоторые атрибуты, такие как SccProjectName, SccLocalPath и т. д. Измените их все на:

    <SccProjectName>SAK</SccProjectName>
    <SccLocalPath>SAK</SccLocalPath>
    <SccAuxPath>SAK</SccAuxPath>
    <SccProvider>SAK</SccProvider>

Сохраните его и проверьте его один раз, и все будет в порядке.

SAK означает, что информацию о привязке TFS для проекта можно получить из файла mssccprj.scc.

person Aamir    schedule 21.01.2009

Решено.

Проект содержит файлы шаблонов T4, и если они открыты в Visual Studio, когда я пытаюсь сохранить все, генерация кода, похоже, вращается вокруг двух шагов:

  1. Удалить старый сгенерированный файл
  2. Создать новый сгенерированный файл

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

person Lasse V. Karlsen    schedule 22.01.2009