繁体   English   中英

为什么将类移动到 Visual Studio 中的新文件夹会破坏事情?

[英]Why does moving classes into a new folder in Visual Studio break things?

我有一个包含三个区域的 ASP.NET 应用程序。 在应用程序的根目录中是一个 Models 文件夹,其中包含一个大杂烩类,包括两个 DataContext、一些 Repository 类、一些 ViewModel 类、一些帮助程序类和一些业务逻辑类。

我想为这些子类别中的每一个创建子文件夹,并将关联的文件移动到适当的子文件夹中。 但是,我注意到这是破坏性的。 例如,如果我将其中一个 DataContexts 移动到 Models 文件夹中的 DataContext 子文件夹中,我发现存储库中的代码不再能看到 DataContext 类型。

这一定意味着 Models 文件夹对系统具有特殊意义。 我在这里想念什么? 有没有办法让子文件夹“敏感化”,以便其他代码仍然可以看到实现的类和命名空间? 还是我以错误的方式解决这个问题?

可能是命名空间问题? 模型文件夹没有特殊含义。

ASP.NET MVC团队曾说过类似的话:

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

当您拖放文件和文件夹时,它将移动文件,但是名称空间不会更新,因此您的代码将中断。 一种方法是创建新文件/文件夹并复制您的代码-这有点繁琐但正确的方法。 另一种方法是使用Resharper-Ctrl + Shift R,它使您可以移动文件并更新名称空间,并且代码不会中断。 我正在寻找一种无需Resharper的更快捷的方法,当我这样做时,我将更新我的答案。 希望这可以帮助!

在 C# 中迈出第一步我遇到了这篇文章……在 VS 2019 中,如果你refactor->move类文件,你可以选择移动到另一个位置

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM