问题很简单.我没有在Visual Studio中创建文件夹,而是在文件系统上为我的项目创建目录结构.如何在项目中包含所有文件夹和文件,保留结构?
如果我在名为Services的文件夹上"添加现有文件"并导航到目录结构中的文件..服务>帐户管理> CreateAccount.cs,它将显示在Visual Studio中,如下所示:Services> CreateAccount.cs.我不想要这个.
我已经完成了整个目录结构,因为我模仿我们的客户端开发人员使用相同的组织结构.如何在Visual Studio中将所有文件夹和文件添加到项目中?或者我必须做大多数Microsoft用户所做的事情并"忍受它"并通过Visual Studio重新创建每个文件夹?
您需要将目录结构放在项目目录中.然后单击解决方案资源管理器工具箱顶部的"显示所有文件"图标.之后,添加的目录将显示出来.然后,您需要选择此目录,右键单击,然后选择"包含在项目中".
您还可以将文件夹从Windows资源管理器拖放到Visual Studio解决方案窗口中.
在Visual Studio 2015中,您就是这样做的.
如果要自动包含特定文件夹下的所有后代文件:
这可以限制为仅包括指定路径中的文件:
甚至只有具有指定扩展名的文件:
参考:http://jamesrpatterson.com/blog/automatic-include-in-project-for-visual-studio
复制并粘贴.
要添加文件夹,所有子目录和文件,我们还可以复制和粘贴.例如,我们可以:
右键单击该文件夹上的Windows资源管理器,然后单击包含许多文件和文件夹的文件夹.
然后在Visual Studio解决方案资源管理器中,右键单击目标文件夹并单击粘贴.
可选添加到TFS; 然后在顶部文件夹中右键单击并签入TFS以签入所有子文件夹和文件.
您可以使用符号链接.这使得修改一个项目中的文件在另一个项目中修改它(因为它实际上是同一个文件).
去做这个:
以管理员身份打开cmd提示符
mklink/d [当前项目目录名] [应该指向的其他项目中的目录]
这有它的缺点和缺陷,但我有时会使用它来处理需要不同名称的重复库.
编辑Anoop:添加到Visual Studio的步骤:
使用上述步骤在项目文件夹中创建链接.
在Visual Studio中...在解决方案资源管理器中选择项目
在解决方案资源管理器的顶部...单击"显示所有文件"按钮(如果已经激活,则可能需要单击两次).
该链接现在将显示在您的项目中...右键单击并选择"包含在项目中".
这些是我遵循的步骤,适用于几个不同的项目.
要扩展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
在Visual Studio 2017中,您可以来回切换" 解决方案视图"和" 文件夹视图".我认为这是一个更好的选择,因为它将使解决方案更加清洁.我用它来编辑.gitignore,.md文件等.