Почему свойство «Провайдер пространства имен» не сохраняется в файле проекта для данного подкаталога? - PullRequest
17 голосов
/ 03 апреля 2009

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

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

Проблема

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

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

Версия ...

ReSharper 4.0 с VS2008 SP1

Ответы [ 3 ]

17 голосов
/ 30 сентября 2010

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

12 голосов
/ 19 февраля 2012

@ olivehour

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

3 голосов
/ 17 мая 2011

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

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

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

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

...