我有一个Visual Studio解决方案结构如下(简化):
Root Folder
| Solution.sln
|
+---Build
|
+---Code
| +---Business Layer
| | | Business Layer.csproj
| +---Client
| | | Client.csproj
| |
| +---Data Access Layer
| | | Data Access Layer.csproj
| |
| +---Database
| | | Database.sqlproj
| |
| ---Database User Management
| | Database User Management.pssproj
|
+---Documentation
|
+---Packages
|
+---Tests
这里的tl;dr是我所有的项目都存储在两个单独的文件夹下。代码…单元测试项目的程序代码和测试
然而,在我的.sln文件中,我注意到这些行:
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Code", "Code", "{2C7E59FD-BA42-4D31-A5E0-818583B7E1EC}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{1D1FDB9D-78EC-4552-B9EE-17E02E92FC2E}"
EndProject
这些文件夹不是项目,它们只是用来组织项目的,这样我就不会把我的单元测试项目和实际的软件项目混在一起。
从.sln文件中删除这些行基本上将我的所有项目放在解决方案资源管理器树中的一个节点下,但似乎保留了文件夹结构。
同样奇怪的是,它只对代码和测试文件夹这样做,而不是文档和包。
这是Visual Studio应该如何组织项目吗?
编辑:来回答我为什么要费心修改。sln文件。当我在Visual Studio中打开它时,它显示有8个项目要加载,这很奇怪,因为目前只有5个。(x3 .csproj, x1 .pssproj, x1 .sqlproj)
这就是Visual Studio解决方案文件格式的工作原理。虽然在Project
和EndProject
之间显示,但文件夹仍然是文件夹