当前位置:  开发笔记 > 开发工具 > 正文

如何在Visual Studio中将现有目录树添加到项目?

如何解决《如何在VisualStudio中将现有目录树添加到项目?》经验,为你挑选了7个好方法。

问题很简单.我没有在Visual Studio中创建文件夹,而是在文件系统上为我的项目创建目录结构.如何在项目中包含所有文件夹和文件,保留结构?

如果我在名为Services的文件夹上"添加现有文件"并导航到目录结构中的文件..服务>帐户管理> CreateAccount.cs,它将显示在Visual Studio中,如下所示:Services> CreateAccount.cs.我不想要这个.

我已经完成了整个目录结构,因为我模仿我们的客户端开发人员使用相同的组织结构.如何在Visual Studio中将所有文件夹和文件添加到项目中?或者我必须做大多数Microsoft用户所做的事情并"忍受它"并通过Visual Studio重新创建每个文件夹?



1> Gant..:

您需要将目录结构放在项目目录中.然后单击解决方案资源管理器工具箱顶部的"显示所有文件"图标.之后,添加的目录将显示出来.然后,您需要选择此目录,右键单击,然后选择"包含在项目中".

在此输入图像描述

在此输入图像描述


有没有办法用项目目录的目录(树)_outside_做到这一点?
我知道在项目之外执行此操作的唯一方法是使用符号链接...请参阅我的回答:http://stackoverflow.com/a/26537736/835561
问题是,如果通过Windows资源管理器复制Visual项目中的目录树,它只能工作.如果您只想引用计算机上其他项目中包含的某些文件夹和文件,该怎么办?
几乎是有效的.我可以看到目录树,并添加多个文件,但它不会让我添加包括子树在内的整个目录.
有没有办法为不在您项目所在子目录的文件夹执行此操作?即:让E:\ ProjectX \ project.vcproj包含文件夹E:\ Common \ *。cs?

2> Todd Smith..:

您还可以将文件夹从Windows资源管理器拖放到Visual Studio解决方案窗口中.


这在我在Vista Ultimate 64位上安装VS 2010时不起作用.
不,在Windows 7上的VS 2010安装中也不起作用.
确认这在VS 2010(非管理员模式)中也不起作用
我不认为你们做得对.VS 2010确实支持文件夹拖放.我一直这样做,包括我的工具包.您必须确保放入项目树.解决方案面板和解决方案节点本身不会收到丢弃.操作系统在这里无关紧要,但对于怀疑者,我使用Windows 7 64位.
"解决方案项"与向项目添加项目不同.解决方案项是VS解决方案中的特殊文件夹.
老问题,但这是我找到的答案,所以:请注意,如果以管理员身份运行VS并启用标准烦人的Windows ACL内容,则可能无法将任何内容拖入IDE.
在VS 2013中工作,但请记住,这会将整个文件夹复制到项目目录中.

3> Yuchen Zhong..:

在Visual Studio 2015中,您就是这样做的.

如果要自动包含特定文件夹下的所有后代文件:


这可以限制为仅包括指定路径中的文件:


甚至只有具有指定扩展名的文件:


参考:http://jamesrpatterson.com/blog/automatic-include-in-project-for-visual-studio


IMO是这里最有用的答案之一.
我发现这很有用,因为我可以为"始终在构建时复制"包含一个标记,而不是需要对每个单独的文件进行注释(如接受的答案中的情况)

4> Catto..:

复制并粘贴.

要添加文件夹,所有子目录和文件,我们还可以复制和粘贴.例如,我们可以:

    右键单击该文件夹上的Windows资源管理器,然后单击包含许多文件和文件夹的文件夹.

    然后在Visual Studio解决方案资源管理器中,右键单击目标文件夹并单击粘贴.

    可选添加到TFS; 然后在顶部文件夹中右键单击并签入TFS以签入所有子文件夹和文件.



5> Edyn..:

您可以使用符号链接.这使得修改一个项目中的文件在另一个项目中修改它(因为它实际上是同一个文件).

去做这个:

    以管理员身份打开cmd提示符

    mklink/d [当前项目目录名] [应该指向的其他项目中的目录]

这有它的缺点和缺陷,但我有时会使用它来处理需要不同名称的重复库.

编辑Anoop:添加到Visual Studio的步骤:

    使用上述步骤在项目文件夹中创建链接.

    在Visual Studio中...在解决方案资源管理器中选择项目

    在解决方案资源管理器的顶部...单击"显示所有文件"按钮(如果已经激活,则可能需要单击两次).

    该链接现在将显示在您的项目中...右键单击并选择"包含在项目中".

这些是我遵循的步骤,适用于几个不同的项目.



6> CAD bloke..:

要扩展Yuchen的答案,您可以将文件和路径作为链接包含在内.这与添加现有项目不同,因为它不会在项目的文件夹结构中创建额外的副本.如果您希望在许多不同的地方使用一个规范文件夹/文件等,但您只想维护它的一个版本/副本,这将非常有用.

以下是您可以添加到*.csproj文件以创建链接的示例


    Helpers\RegexExtensions.cs



    Helpers\ExceptBy.cs



    %(RecursiveDir)%(Filename)%(Extension)
    PreserveNewest

$(Codez) 是我定义的Windows环境变量,您可以以相同的方式使用内置的环境变量.

最后一个示例组是最终输出中需要的一堆内容文件.有关详细信息,请参阅/sf/ask/17360801/以及其他答案和链接.

更多MSBuild信息,请访问https://msdn.microsoft.com/en-us/library/bb629388.aspx



7> Siavash Mort..:

在Visual Studio 2017中,您可以来回切换" 解决方案视图"和" 文件夹视图".我认为这是一个更好的选择,因为它将使解决方案更加清洁.我用它来编辑.gitignore,.md文件等.

解决方案视图和文件夹视图


问题在于如何将现有文件夹添加到解决方案中,而不仅仅是查看文件夹。
推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有