如何在解决方案根目录中添加"src"文件夹

Gre*_*Gum 8 visual-studio visual-studio-2017

这听起来像是一个愚蠢的问题,但Visual Studio似乎并没有让我做这个我在github上一直看到的简单组织.

我从新的空解开始.

然后我想添加一个"src"文件夹,其中包含项目多个项目.如果我右键单击并选择"添加文件夹",则VS会添加一个虚拟文件夹,而不是实际文件夹.

如果我使用Windows资源管理器在所需位置创建一个新文件夹,VS会忽略它并且不允许我"添加到解决方案"

如果我添加一个项目,它会在根目录中添加项目,而不是在所需的文件夹中.

那么,我该如何添加这个文件夹呢?

Nem*_*vic 11

我设法做到了这一点,尽管这有点“作弊”。

  1. 创建名为“src”的解决方案文件夹

  2. 在文件资源管理器中,还在解决方案文件夹中创建名为“src”的文件夹

  3. 现在,当您向解决方案添加新项目时,请将其添加到“solution_folder\src”,因为“src”现在存在于磁盘上。此时,在解决方案视图中,该项目将实际显示在“src”文件夹之外。

  4. 只需将该项目拖到解决方案结构中的“src”文件夹中,您就会在解决方案视图中的“src”文件夹下和磁盘上的实际“src”文件夹中找到它。

请注意,解决方案视图中的“src”文件夹与磁盘上的“src”文件夹不同,一个是解决方案文件夹,另一个是文件系统中的实际文件夹,但解决方案视图中的结构将遵循文件系统中的结构.

我希望这个对你有用 :)

  • 两年零七个月后,我将将此标记为已回答:) (3认同)

Gre*_*egD 6

下面是我在 Visual Studio 2019 中完成此操作的方法。首先,这是最终结果:

在此处输入图片说明

要到达那里需要一些命令行。首先打开一个命令窗口并更改为您的应用程序的本地根文件夹。就我而言,它是 C:\Code\NameOfCoolApp。

进入应用程序的根文件夹后,输入:

dotnet new sln
Run Code Online (Sandbox Code Playgroud)

您应该得到类似于模板“解决方案文件”已成功创建的内容。

接下来,我们将删除解决方案中的一个项目,因此请使用此处的任何命名约定。就我而言,我们将删除域项目。因此,在同一个命令窗口中,键入:

dotnet new classlib -o src/NameOfCoolApp.Domain
Run Code Online (Sandbox Code Playgroud)

然后,您应该会看到类似The template "Class Library" was created successfully and ends with Restore successfully 之类的内容

接下来,我添加一个存根单元测试:

dotnet new mstest -o tests/Domain.UnitTests
Run Code Online (Sandbox Code Playgroud)

在成功消息之后,我们将通过以下开始将上述两项添加到解决方案中:

dotnet sln add src/NameOfCoolApp.Domain
Run Code Online (Sandbox Code Playgroud)

最后:

dotnet sln add tests/Domain.UnitTests
Run Code Online (Sandbox Code Playgroud)

从这里您应该能够使用 VS2019 打开解决方案文件,并且可以在 Visual Studio 中继续处理项目的其余部分。