是否可以在不手动添加树的每个级别的情况下向解决方案项添加文件夹结构?
我们有一个多项目解决方案,需要多个第三方库,其中至少有一个有多层树。
我们在解决方案根目录下有一个libs
文件夹,以及所有其他项目。
有关显示隐藏文件等的答案不适用于解决方案项目,仅适用于项目内。
有没有办法解决这个问题?
如果我们在解决方案级别需要它们,我们是否必须逐个文件夹添加它们?
(关于Visual Studio 项目,类似的问题是answered many times。但我的问题是关于Visual Studio 解决方案。)
答案 0 :(得分:6)
解决方案文件夹只是项目的逻辑分组。我认为它们与您系统上的文件结构无关。这就是为什么你没有看到它们具有“显示隐藏文件”的功能。您必须右键单击解决方案,添加新文件夹,然后右键单击该文件夹以添加现有项目或嵌套文件夹。
答案 1 :(得分:0)
如果我说得对,那么您希望在解决方案中组织项目。 不确定这是否适合您的场景,但是如果您在将现有项目添加到实际解决方案时选择“.sln”(在文件浏览器 - 对话框中切换文件扩展名),它将添加组织的所有项目,因为它们保存在sln中加上。 (VS2017)
PS:是的,我看到这是一个7岁的帖子:)
答案 2 :(得分:0)
一个选项是编写一个小exe并将其作为外部工具添加到VS.基本上,您需要通过将文件夹添加为“Projects”
来编辑sln文件(纯文本)...
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mycsproj", "
[somerelativepath]\mycsproj.csproj", "{projGUID}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "FolderName",
"FolderName", "{FolderGUID}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SubFolderName",
"SubFolderName", "{SubFolderGUID}"
EndProject
...
{FAE04 ..}应为CSproject的项目类型GUID {2150 ...}将是项目文件夹的项目类型GUID
并在
部分中定义层次结构...
GlobalSection(NestedProjects) = preSolution
{projGUID} = {SubFolderGUID}
{SubFolderGUID} = {FolderGUID}
EndGlobalSection
...
现在由你来编写一些exe,从磁盘读取libs的文件夹信息,并根据sln中的Project-Folder Infos写入。这不应该是一项巨大的努力:)
因此,无论何时收集多个项目到您的解决方案,您都可以点击您的ext工具并使连接的项目结构良好。
我仍然可能在错误的轨道上理解你的问题:)
答案 3 :(得分:0)
一种选择是添加扩展名:“将文件夹添加为解决方案文件夹”
使用此扩展程序,您可以执行以下操作:
右键单击解决方案>添加>将文件夹添加为解决方案文件夹
答案 4 :(得分:0)
不是问题的确切答案,但要在 Visual Studio 解决方案资源管理器中查看文件系统上的文件夹,现在可以在解决方案和文件夹之间切换视图。这是切换按钮:
点击/点击此选项会显示“解决方案资源管理器 - 视图”内容,显示所有可用的解决方案文件和“文件夹视图”选项:
双击“文件夹视图”显示底层文件系统中的文件夹:
使用 Visual Studio 2019 16.10 预览版 4 拍摄的屏幕截图,但这种情况已经存在一段时间了。
答案 5 :(得分:-4)
为什么要将libs
文件夹放在解决方案中?这会给解决方案带来什么好处?它应该只包含已编译的DLL。