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>