我正在组织一个新项目,我想从命令行创建尽可能多的项目。
我喜欢将我的测试项目放入解决方案文件夹中。然而,命令
dotnet sln add
似乎有些受限。它的参数列表似乎只包含要添加的项目文件列表。
添加新创建的项目(在我的例子中是测试项目,但问题更普遍)时,有没有办法指定解决方案文件夹(而不是物理文件夹)?
从此 Microsoft 文档
dotnet sln yoursolution.sln add pathofyourproject\yourprojectfile.csproj --solution-folder solutionfoldername
如果解决方案文件夹不存在,此命令将创建一个新的解决方案文件夹。在其他情况下,此命令将项目添加到您的解决方案文件夹中。
我刚刚使用 .Net Core 2.2 完成了此操作,首先将一个新项目添加到
Tests\UnitTests\UnitTests.csproj
文件夹,然后从解决方案根目录运行 dotnet sln add
。
初始文件夹结构
在
UnitTest.csproj
内添加Tests\UnitTests
从包含
TestMvcCore2.sln
的文件夹中运行
dotnet new classlib -o .\Tests\UnitTests -n UnitTests
将
UnitTest.csproj
添加到 TestMvcCore2.sln
从包含
TestMvcCore2.sln
的文件夹中运行
dotnet sln add .\TestMvcCore2.sln .\Tests\UnitTests\UnitTests.csproj
在 Visual Studio sln
中创建一个Tests
解决方案文件
目前不可能,您需要像解决方案结构文件夹一样创建物理结构文件夹
dotnet new <typeproj> --output "physical/domain" --name "domain"
dotnet new <typeproj> --output "physical/service" --name "service"
使用 Visual Studio 打开解决方案后,创建“physical”解决方案文件夹并添加之前已经准备好的项目
正如Microsoft Docs中提到的,如果你想创建新的解决方案,你必须编写
dotnet new sln
。此命令将在当前目录中创建一个以当前目录名称命名的解决方案文件。另外,您可以通过dotnet new sln -o <SOLUTION_NAME>
指定输出解决方案文件的名称。 这还将创建一个具有您指定名称的文件夹。要将项目添加到此解决方案,请在命令提示符中输入:dotnet sln <YOUR_SOLUTION_NAME> add <PROJECT_YOU_WANT_TO_ADD> <PROJECT_YOU_WANT_TO_ADD> <PROJECT_YOU_WANT_TO_ADD> ...
这会将您指定的所有项目及其文件夹添加到您指定的解决方案中。