Подтвердить что ты не робот

Почему свойство "Namespace Provider" не сохраняется в файле проекта для данного подкаталога?

Подкаталоги в проектах VS2008 в основном используются для физического представления на диске структуры пространства имен для проекта. Каждая папка имеет Boolean-свойство, называемое "Поставщик пространства имен", которое при установке в True заставляет ReSharper проверять, что физическое местоположение данного класса соответствует логическому пространству имен.

Иногда мне не нужна папка для использования в качестве поставщика пространства имен, поэтому я устанавливаю это свойство как False, а ReSharper не выполняет проверку.

Проблема

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

Почему не сохраняется значение свойства?

Версия...

ReSharper 4.0 с VS2008 SP1

4b9b3361

Ответ 1

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

Ответ 2

@olivehour

Это параметр уровня проекта, который сохраняется в файле ProjectName.csproj.DotSettings. Рассмотрите возможность проверки всех файлов проекта .DotSettings на исходный элемент управления, чтобы сохранить этот параметр в своей команде.

Ответ 3

Быстрый ответ: Перед переключением ветвей закройте решение, которое вы переключаете. Это предотвращает запрос VS на "перезагрузку" решения, поскольку оно изменилось. Visual Studio удалит пользовательские настройки ReSharper в файле .suo, когда он перезагрузит его.

Длинный ответ: Я обнаружил, что для сохранения False-установки поставщика "Namespace Provider" (True параметр всегда сохраняется, поскольку это состояние по умолчанию) заключается в том, чтобы убедиться, что до того, как я переключу ветки (через ToirtoiseSVN), я не забудьте закрыть Visual Studio или решение.

Состояние очищается при выборе опции "Перезагрузка" Visual Studio после того, как Visual Studio предложит вам следующее сообщение: "Проект" project.name.here "был изменен вне среды. Нажмите" Перезагрузить ", чтобы загрузить обновленный проект с диска. Нажмите игнорировать, чтобы игнорировать внешние изменения.

Я предполагаю, что это происходит, потому что Visual Studio удаляет все неизвестные значения из файла .suo при его перезагрузке. В этом случае этот параметр ReSharper (поставщик пространства имен) сохраняется.