Resharper:命名空间与文件位置不对应

时间:2012-02-22 10:38:27

标签: namespaces resharper-6.0

我重命名了一个文件夹并更新了我的命名空间声明,但Resharper 6声称命名空间应该反映重命名之前的状态。它在哪里存储文件位置数据?

5 个答案:

答案 0 :(得分:43)

检查以确保程序集名称与新名称空间匹配。如果您已更改文件夹结构以匹配新命名空间,则在更新项目属性之前,您可能仍会看到Resharper警报。

答案 1 :(得分:12)

作为delliottg's注释,在Visual Studio中转到

 Project > [project name] Properties > Application

和改变

“大会名称”

以及

“默认名称空间”

答案 2 :(得分:8)

我也遇到了文件夹/命名空间的问题,上述步骤都没有修复它。

在我的情况下,我必须在Visual Studio中执行此操作:

  • 右键单击解决方案资源管理器中的“问题”文件夹以打开属性
  • 确保“命名空间提供程序”设置为true

这为我修复了ReSharper问题,我能够正常调整命名空间。

答案 3 :(得分:1)

根命名空间需要进行如下更改。

enter image description here

答案 4 :(得分:0)

我在VS 2019和16.5.2中使用Resharper 2019.3.2,并且遇到了类似的问题。

在开发时,我首先在单个项目中计算出名称空间层次结构,然后将项目拆分到单独的类库中。在第一阶段,始终让子目录与名称空间相对应是很方便的。

例如,我的原型MeshTools.dll项目当前包含:

 Meshtools ........................ 3 cs-files in \MeshTools
   MeshTools.HeightField .......... 2 cs-files in \MeshTools\HeightField
   MeshTools.VectorTools .......... 3 cs-files in \MeshTools\VectorTools

以上答案均假设每个项目只有一个名称空间。手动重命名目录可能会使Resharper感到困惑,可以通过将.csproj文件中的默认程序集设置为适当的名称空间来修复该问题。谢谢你的提示。

但是,在我的情况下,我在单个项目中有几个命名空间,Solution目录中的每个命名空间都与真实目录相对应。当重命名出现问题时,设置默认程序集“ Meshtools”不会影响HeightField和VectorTools的ReSharper行为。

我搜索了这个问题,并被https://www.jetbrains.com/help/resharper/Refactorings__Adjust_Namespaces.html#

事实证明,解决方案目录->属性上有一个右键单击选项。您将找到一个选项来确定解决方案目录是否是 NameSpace提供程序。当出现问题时,Visual Studio会将字段重置为False。将其设置回True,Resharper会在需要时正确地重构名称空间或文件位置。