0

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

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

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

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

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

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

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

我在这里想念什么?

4

1 回答 1

2

Visual Studio 中的解决方案文件夹仅用于组织解决方案级别的资产,例如 Visual Studio 本身中的项目和其他解决方案文件夹,并且不会渗透到磁盘中。

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

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

  1. 从 Visual Studio 中的解决方案中卸载或删除 BarTests 项目。
  2. 在磁盘上所需位置创建物理“UnitTests”目标文件夹,并将 BarTests 项目文件夹和文件移动到目标位置。
  3. 返回 Visual Studio 并重复,为 UnitTests 创建解决方案文件夹,然后将项目添加到该解决方案文件夹(如果已删除,则从菜单中选择“添加现有项目”)。
于 2022-01-24T19:44:48.527 回答