代码之家  ›  专栏  ›  技术社区  ›  Robert Harvey

为什么在Visual Studio中将类移动到一个新文件夹中会破坏某些内容?

  •  1
  • Robert Harvey  · 技术社区  · 16 年前

    我有一个具有三个区域的ASP.NET应用程序。在应用程序的根目录中有一个models文件夹,其中包含各种类,包括两个dataContext、一些知识库类、一些viewModel类、一些helper类和一些业务逻辑类。

    我想为每个子类别创建子文件夹,并将相关文件移动到相应的子文件夹中。然而,我注意到这是破坏性的。例如,如果我将其中一个DataContext移动到Models文件夹中的DataContext子文件夹,我会发现存储库中的代码无法再看到DataContext类型。

    这意味着模型文件夹对系统有特殊意义。我这里缺什么?是否有某种方法可以“敏化”子文件夹,以便其他代码仍然可以看到实现的类和名称空间?或者我是不是走错了路?

    2 回复  |  直到 7 年前
        1
  •  4
  •   John Farrell    16 年前

    可能是名称间距问题?模型文件夹没有特殊意义。

    ASP.NET MVC团队以前说过这样的话:

    模型文件夹存在的唯一原因是人们一直在问我们把模型类放在哪里 “;”

        2
  •  1
  •   Suhani    7 年前

    当您拖放文件和文件夹时,它将移动这些文件,但名称空间不会更新,因此您的代码将中断。一种方法是创建新的文件/文件夹并复制代码——这有点冗长,但方法是正确的。 另一种方法是使用resharper-ctrl+shift r,它允许您移动文件并更新名称空间,代码不会中断。 我正在寻找一种更快的方法,在不使用Resharper的情况下也能做到这一点,当我这样做的时候,我会更新我的答案。希望这有帮助!