【.NET】C#/.NET新建專案sln,增加src和test資料夾問題和解決方案

欲東發表於2023-05-17

問題介紹

        經常逛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或者手動複製,新增現有專案可以解決此問題。

 

如果有更優雅解決方案的同仁,歡迎指教!

 

 

 

相關文章