Почему Visual Studio 2008 хочет повторно сохранить файл моего проекта? - PullRequest
1 голос
/ 21 января 2009

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

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

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

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

Что я делаю не так?

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

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

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

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


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

Ответы [ 2 ]

2 голосов
/ 21 января 2009

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

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

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

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

1 голос
/ 22 января 2009

решаемая.

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

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

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

...