Resharper продолжает жаловаться, что пространство имен не соответствует местоположению файла, даже если оно

Я работаю над проектом WCF. Название проекта было ServiceTemplate, и я решил изменить его на что-то более показательное. Я сделал несколько болезненную работу по переименованию проекта в соответствии со следующими шагами:

  • Измените пространства имен в соответствии с новым именем проекта. Этот шаг, как ожидалось, заставил Resharper жаловаться на то, что пространства имен не соответствуют местоположению файла и предложили изменить пространство имен на "ServiceTemplate.Something". Я проигнорировал это предупреждение, потому что оно должно исчезнуть позже.

  • Используйте find-and-replace, чтобы заменить все вхождения "ServiceTemplate" во всем решении.

  • Закройте решение.

  • Переименуйте папку ServiceTemplate и файл ServiceTemplate.csproj.

  • Откройте файл sln с помощью блокнота и повторите уродливый процесс find-and-replace, чтобы заменить все вхождения "ServiceTemplate" в этом файле.

Даже после всех этих шагов Resharper все еще жалуется, что пространства имен не соответствуют местоположению файла. Как ни странно, Resharper по-прежнему предлагает изменить пространство имен на "ServiceTemplate.Something", даже если строка "ServiceTemplate" нигде в решении отсутствует ни в именах папок/файлов, ни в содержимом файла.

Что могло бы вызвать проблему и как мне ее избавиться?

Ответ 1

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

Ответ 2

Вам нужно будет изменить свойство \element в файле .vbproj или .csproj. Как было предложено @citizenmatt.

Предлагаемое изменение:

<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
 <PropertyGroup>
  <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
  <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
  <ProjectGuid>{14E9B75E-02B5-4371-912F-674B7E199796}</ProjectGuid>
  <OutputType>Library</OutputType>
  <AppDesignerFolder>Properties</AppDesignerFolder>
  <RootNamespace>My.Default.Namespace</RootNamespace> //<-- Change this
  <AssemblyName>My.Assembly.Name</AssemblyName>
  <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
  <FileAlignment>512</FileAlignment>
</PropertyGroup>