![](/img/trans.png)
[英]Why does visual studio mark all new classes as <Compile Remove /> in my csproj file?
[英]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的更快捷的方法,当我这样做时,我将更新我的答案。 希望这可以帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.