You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core:如何通过命令行创建解决方案文件夹

如何通过dotnet命令行将项目添加到解决方案的逻辑文件夹中

好问题!确实一开始用dotnet sln add的时候容易误以为只能直接把项目加到解决方案根目录,但实际上从.NET Core 3.0 SDK开始,官方就提供了命令行参数来直接指定解决方案的逻辑文件夹(和物理文件夹无关),完全能满足你“全程用命令行操作”的需求。

下面是两种最常用场景的操作步骤:

场景1:新建项目并直接添加到指定解决方案文件夹

如果你还没创建测试项目,可以一步到位把它放到解决方案的逻辑文件夹里:

  1. 先创建测试项目(这里以xunit为例,物理路径可以自定义):
    dotnet new xunit -n MyProject.Tests -o ./src/MyProject.Tests
    
  2. 直接将项目添加到解决方案的Tests逻辑文件夹中:
    dotnet sln add ./src/MyProject.Tests/MyProject.Tests.csproj --solution-folder Tests
    

执行完这两步,打开解决方案就能看到Tests文件夹下已经包含了你的测试项目,而物理文件依然在你指定的./src/MyProject.Tests路径下。

场景2:已添加的项目,移动到解决方案逻辑文件夹

如果已经把项目添加到了解决方案根目录,现在想把它移到指定的逻辑文件夹,可以用dotnet sln move命令:

dotnet sln move MyProject.Tests/MyProject.Tests.csproj Tests/MyProject.Tests

这个命令会直接修改.sln文件中的项目路径映射,把原根目录的项目移动到Tests逻辑文件夹下,物理文件位置不会有任何变化。

关键说明

  • 解决方案文件夹是纯逻辑结构,只存在于.sln文件中,和项目的物理存储路径没有绑定关系——你可以把物理上在src目录的项目放到解决方案的Tests文件夹,完全没问题。
  • 确保你的.NET SDK版本在3.0及以上,--solution-folder参数和dotnet sln move命令都是从这个版本开始支持的。

内容的提问来源于stack exchange,提问作者Rob Lyndon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:14:53