問題介紹
經常逛github找優秀的.NET專案看,看到github上的專案的層級有src test,sln放在外層。如下圖:
發現自己再Visaul Studio新建的專案即使新增了src和test,然後基於資料夾下新建專案,物理路徑上也不是這樣的結構。如圖
物理路徑下依然和sln是平級狀態。
解決方案
透過dotnet CLI
全程新建專案透過dotnet cli來新建,可以保持類似於github的整體目錄,在一個空目錄
透過此方法新建,新增sln引用,可以做到物理路徑保持src。
透過建立專案,手動複製到物理路徑下src,然後透過Visaul Studio新增現有專案
使用上邊的截圖示例,Api資料夾是我新建的,但是並沒有在src下,手動複製到src下。然後開啟Visaul Studio在src目錄下新增現有專案,
總結
透過Visaul Studio直接在解決方案新增新建專案會產生一個虛擬目錄,導致物理路徑不符。透過dotnet CLi或者手動複製,新增現有專案可以解決此問題。
如果有更優雅解決方案的同仁,歡迎指教!