将项目移动到 Visual Studio 中的新文件夹

Move Project To a New Folder in Visual Studio

这是我的解决方案文件结构(文件夹以 + 为前缀):

+FooProject
  FooProject.sln
  +Tests
    +BarTests
      BarTests.csproj

现在我想将 BarTests 项目移动到一个新的子文件夹 UnitTests:

+FooProject
  FooProject.sln
  +Tests
    +UnitTests
      +BarTests
        BarTests.csproj

我尝试了以下方法但无济于事:

  1. 如果我在 Visual Studio 中添加 New Solution FolderUnitTests,并将 BarTests 移动到 UnitTests Visual Studio 中的文件夹,则不会在磁盘上创建新文件夹,也不会对解决方案文件进行任何更改,因此无法在源代码管理中传播此更改。
  2. 我直接在磁盘上创建 UnitTests 文件夹(使用文件资源管理器或命令行),将 BarTests 移动到 UnitTests,然后手动更新解决方案文件以反映这一点改变路径。现在问题出在 Visual Studio,我仍然在 'Tests' 文件夹下看到 BarTests 项目,而不是 UnitTests 文件夹。

即使在关闭 VS 并删除 .vs 文件夹后,我也尝试了第二种方法,但仍然是相同的行为。

我在这里错过了什么?

Visual Studio 内的解决方案文件夹 仅用于组织 solution-level 资产,例如 Visual Studio 内的项目和其他解决方案文件夹,并且是没有渗透到磁盘。

当您移动磁盘上的文件夹并在 .sln 文件中更改对它的引用时,您就是在这样做。

非常简单的解决方案,完全按照您已经尝试过的方式进行操作,您甚至可以在 Visual Studio 内完成,方法是在解决方案资源管理器中切换到“文件夹视图”。

  1. 从 Visual Studio 的解决方案中卸载或删除 BarTests 项目。
  2. 在磁盘上的所需位置创建物理“UnitTests”目标文件夹,并将 BarTests 项目文件夹和文件移动到目标位置。
  3. Return 到 Visual Studio 并重复,为 UnitTests 创建 解决方案文件夹 ,然后将您的项目添加到该解决方案文件夹(如果您删除了,那么您select 从菜单中选择“添加现有项目”。