42

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

4

5 回答 5

51

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

于 2012-06-05T14:56:24.423 回答
16

正如delliottg 的 评论所说,在 Visual Studio 中,转到

Project> [project name] Properties>Application

并更改“程序集名称”以及“默认命名空间”

于 2015-10-04T16:51:33.267 回答
11

我的文件夹/命名空间也有这个问题,上述步骤都没有解决它。

就我而言,我必须在 Visual Studio 中执行此操作:

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

这为我解决了 ReSharper 问题,并且我能够正常调整命名空间。

于 2016-02-05T11:12:41.953 回答
4

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

在此处输入图像描述

于 2019-11-18T19:52:15.373 回答
1

我在 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 文件中的默认程序集设置为正确的命名空间来修复。谢谢你的提示。

但是,就我而言,我在一个项目中有多个命名空间,解决方案目录中的每个命名空间都对应一个真实目录。当重命名出现问题时,设置默认程序集“Meshtools”不会影响 HeightField 和 VectorTools 的 ReSharper 行为。

我用谷歌搜索了这个问题并来自https://www.jetbrains.com/help/resharper/Refactorings__Adjust_Namespaces.html#

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

于 2020-04-19T22:40:23.303 回答