Как остановить Visual Studio от "всегда" проверки файлов решений?

По всей видимости, нет причин, каждый раз, когда я открываю свое решение, Visual Studio проверяет файл sln.

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

Я использую VS 2008 и TFS 2008, оба SP2.

Любая идея о том, как я могу остановить эту вещь? Или является признаком/ошибкой поставщика управления источником TFS для VS?

Ответ 1

Это происходит, когда в файле .sln указано следующее:

GlobalSection(ExtensibilityGlobals) = postSolution
    MyGlobalProperty = AnyValue
EndGlobalSection

Я обнаружил, что Enterprise Library добавила один из них. Я удалил его, проверил в решении, закрыл, потом снова открыл его и не стал автоматически проверять.

Ответ 2

Из памяти, если вы используете меню "Инструменты", "Параметры" и выберите панель "Управление источником", "Среды", должно быть несколько параметров для настройки способа взаимодействия IDE с элементом управления версиями.

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

Ответ 3

На всякий случай, как и я, вы не могли заставить его работать, и вы обнаружите, что один или несколько проектов также проверяются, я нашел более простое решение. Запишите проект (ы), который он продолжает проверять. Перейдите в File - Source Control - измените Source Control, а затем отвяжите проекты, о которых идет речь. Нажмите "ОК", "Сохранить все", затем вернитесь в "Изменить контроль источника" и привяжите проект обратно к решению. Надеюсь, это сработает для других.

Ответ 4

Хотя это не предотвращает проблему в первую очередь, либеральное использование Team Foundation Power Tools "Undo Unchanged" (неожиданное удивление) ) отмените ожидающее редактирование, если никаких изменений не было сделано.

Ответ 5

Разрешить выезд, а затем сравнить оба файла. Если VS добавил что-то вроде

<Service Include="{B4F97281-0DBD-4835-9ED8-7DFB966E87FF}" />

вы испытываете ошибку VS с решением в VS2008, но не портировали на VS2005

Подробнее о эту ссылку:

Ответ 6

Файл Visual Studio Solution тихо просматривается через один или несколько проектов решений с использованием Microsoft Enterprise Library. Я полагаю, что это связано с Утилитой настройки корпоративной библиотеки, которая позволяет управлять конфигурацией различного приложения Блоки - http://msdn.microsoft.com/en-us/library/ff649479.aspx

См. публикацию Microsoft Feedback: http://connect.microsoft.com/VisualStudio/feedback/details/737184/globalsection-extensibilityglobals-postsolution-checks-out-sln-file-on-open

Ответ 7

Это функция/ошибка одной из проектных систем, загружаемых в решение. Попробуйте удалить различные типы проектов (С#, VB, С++, веб-сайт, веб-приложение, unit test, silverlight...), пока он не исчезнет; что ваш ответ.

Ответ 8

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

Каждый раз, когда вы открываете какое-либо решение в Visual Studio, он выполняет некоторые операции, которые могут привести к изменению ваших файлов .sln или project, а затем попросит вас проверить файл. Это происходит, когда изменения в структуре папок на машине разработчиков или когда у них нет одинаковых версий всех файлов. Возможно, кто-то добавил проект в какую-то папку, а другой разработчик имеет тот же проект в другом месте. В другом случае я вижу, что это происходит, когда у нас есть решение с некоторыми С++-проектами. По какой-то причине один из этих проектов на С++ имел .res файл с абсолютными путями. После того как этот файл был создан автоматически VS, он все время менялся с машины разработчика на машину разработчика.

Я предлагаю вам открыть ваш .sln файл и искать некоторые абсолютные пути или относительные пути, которые могут не существовать на какой-либо машине разработчика, в зависимости от того, какие файлы они получают из вашего Source Control.