C#项目标准目录结构布局

4
Java构建工具"Maven"有一个标准目录布局用于项目。那么C#项目有哪种等效类型的目录布局呢?我正在学习C#和.NET,似乎IDE只是把所有东西都倒入一个目录中。C#/.NET是否遵循目录结构的约定?
编辑:这将用于桌面应用程序(Windows窗体或WPF)。我正在研究这两个之一,但我还不太了解它们。最终,我想学习两者。

3
也许你会觉得有趣,无论是指类库、网站项目、Web 应用程序项目、Windows 表单项目、WPF 解决方案或其他什么东西。 - Uwe Keim
你使用的是哪个 IDE?Visual Studio 绝对不会把所有东西都倒入一个目录。 - Doc Brown
我正在使用Visual Studio 2010 Ultimate。*.cs,*.xsc,*.xsd,*.xss,*.sdf,*.resx文件都在项目目录的同一级别中。也就是说,我为这个“迷你”示例项目从“Head First C#”(我正在学习C#)创建的每个文件都在同一个目录中。我创建了一个新类,只是把它放在了与其他所有文件相同的目录中。看起来很混乱,所以我寻找一些“标准”,没有找到任何东西,决定在这里向专家请教。 - jmq
2个回答

2
在C#中,目录布局应严格与您拥有的命名空间相关联。每个目录都会创建子命名空间。您可以在这里找到如何正确命名命名空间的说明。
如果您使用FxCop,它将通知您您的目录(命名空间)布局是否正确。主要规则是不应该有仅有几个类/接口的命名空间(在这种情况下,FxCop建议将两个命名空间合并为一个)。
我认为,在不知道您所想的特殊项目类型(Uwe在评论中提到了一些)之前,这就是我能说的全部了。

1
通常在项目中你会得到以下的文件结构:
  • /bin/Debug (调试版本编译后)
  • /bin/Release (发布版本编译后)
  • /obj/Debug
  • /obj/Release
  • /Properties (包含 AssemblyInfo.cs 和资源文件,如果通过程序集属性添加)
  • /ServiceReferences (如果程序集中有服务引用,则包含这些引用)

  • 除了上述内容外,任何你创建的解决方案文件夹(通过右键单击解决方案浏览器 -> 添加新建/文件夹)都会存在于项目所在的文件夹中。

这有帮助吗?


属性文件夹是您存储项目其他配置信息的位置吗?您会将嵌入式数据库存储在哪里? - jmq
.config文件通常会出现在您的程序集根目录中 - 重要的是要记住配置文件需要存在于您项目的输出目录中,因此如果您有卫星项目及其各自的配置,则很可能需要将它们与主配置文件合并,然后它应该可以工作。就嵌入式数据库而言,在ASP.NET项目的情况下,我认为它们最终会出现在名为App_Data的文件夹中。 - Maciek

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接