【.NET】C#/.NET新建项目sln,增加src和test文件夹问题和解决方案

发布时间 2023-05-17 15:05:53作者: 欲东

问题介绍

        经常逛github找优秀的.NET项目看,看到github上的项目的层级有src test,sln放在外层。如下图:

 发现自己再Visaul Studio新建的项目即使添加了src和test,然后基于文件夹下新建项目,物理路径上也不是这样的结构。如图

 物理路径下依然和sln是平级状态。

解决方案

通过dotnet CLI

全程新建项目通过dotnet cli来新建,可以保持类似于github的整体目录,在一个空目录

dotnet new sln
dotnet new classlib -o src/YourName.Domain
dotnet new classlib -o tests/YourName.Domain.UnitTests
dotnet sln add src/YourName.Domain
dotnet sln add tests/YourName.Domain.UnitTests

 

通过此方法新建,添加sln引用,可以做到物理路径保持src。

 

通过创建项目,手动拷贝到物理路径下src,然后通过Visaul Studio添加现有项目

使用上边的截图示例,Api文件夹是我新建的,但是并没有在src下,手动拷贝到src下。然后打开Visaul Studio在src目录下添加现有项目,

 

 

 

总结

通过Visaul Studio直接在解决方案添加新建项目会产生一个虚拟目录,导致物理路径不符。通过dotnet CLi或者手动拷贝,添加现有项目可以解决此问题。

 

如果有更优雅解决方案的同仁,欢迎指教!