为什么Visual Studio将文件夹视为项目?

时间:2015-09-16 12:50:45

标签: visual-studio solution

我有一个像这样结构化的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;博士是我的所有项目都存储在2个单独的文件夹中。代码......以及程序代码和单元测试项目的测试。

但是,在我的.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)

1 个答案:

答案 0 :(得分:1)

这就是Visual Studio解决方案文件格式的工作原理。虽然在ProjectEndProject之间显示,但文件夹仍然是一个文件夹。