C# 名称空间和文件夹关系

C# 名称空间和文件夹关系,c#,asp.net,visual-studio-2008,resharper,C#,Asp.net,Visual Studio 2008,Resharper,好的,我想名称空间必须与它们所在的嵌套文件夹相同吗?我不断收到错误,说名称空间应该是xxx.yyy.zzz 例如: Folder1 Folder2 MyControl.cs 我在其中定义了一个名称空间: namespace CustomControls { ... } 因此编译器抱怨它必须是命名空间Folder1.Folder2 那么,是否与文件结构和名称空间有直接关系?你是不是被迫与这些有着紧密的联系?我不知道ASP.NET是否有一些特殊的规则,因为它是自动编译

好的,我想名称空间必须与它们所在的嵌套文件夹相同吗?我不断收到错误,说名称空间应该是xxx.yyy.zzz

例如:

Folder1
    Folder2
        MyControl.cs
我在其中定义了一个名称空间:

namespace CustomControls
{

...

}
因此编译器抱怨它必须是命名空间Folder1.Folder2


那么,是否与文件结构和名称空间有直接关系?你是不是被迫与这些有着紧密的联系?

我不知道ASP.NET是否有一些特殊的规则,因为它是自动编译的,但在C语言中,当然没有规则规定你必须组织文件夹以匹配你的名称空间。但从可维护性的角度来看,这是一个好主意


你确定这是编译器,而不仅仅是ASP.NET的另一个版本,甚至是ReSharper?抱怨?

否。无论文件夹结构如何,您都可以拥有所需的任何命名空间树。VisualStudio使您能够轻松地根据文件夹结构自动创建名称空间,这样您就不必自己维护名称空间树。但不以任何方式强迫它形成或形成

您得到的错误与编译器没有任何关系


您也没有任何标签说明您正在使用的开发环境。

这是Resharper通常报告的警告。要从Resharper的文件夹树-命名空间比较中排除文件夹,请转到VS中的文件夹属性列表,并将命名空间提供程序设置为false。

这必须是来自Resharper的错误,而不是来自Visual Studio的编译器。现在我实际上遇到了相反的问题:我试图让VS2008根据我的嵌套文件夹结构(如Folder1.Folder2.MyProjectName)自动命名我的命名空间,但它坚持将其命名为平面MyProjectName!正如Jon所说,C本身对名称空间命名法是不可知的。

公布确切的编译器错误。我不认为是编译器造成了这个错误,尽管它不在乎。另外,比如说,这是一个网站还是一个web应用程序项目。这是一个windows应用程序、asp.net应用程序、asp.net网站吗?这是什么菜单?我用的是VS2008。是的,我使用的是ReSharper,所以必须是itF4。如果您没有打开属性窗口,只需单击解决方案资源管理器中的文件夹,它的属性就会显示在属性视图中。