VisualStudio如何在解決方案里添加真實的文件夾而不是虛的解決方案文件夾


建議直接跳轉到解決方法,因為前面都是我的廢話。

問題
解決方法

問題

作為一只開發經驗不足半年的新手開發者,新手.NET Core程序猿,我在學習過程中很難完全依賴官方文檔,博客和Stackoverflow等網站來學習,有時候需要在網絡上找一些免費的和付費的視頻教程。最近我購買了肖偉宇老師的《.NET Core開發實戰》課程。我還沒有看視頻,只粗略地瀏覽了一下肖老師放在GitHub上的這個視頻教程的代碼框架。

在看項目結構的時候我發現肖老師是使用的文件夾來划分項目結構,而不是像我和我的公司一樣直接在解決方案里添加項目,添加庫。我又上GitHub看了一些其他人的項目結構,發現他們一般會有一個test文件夾,里面放的是測試代碼,一個src文件夾,放的是項目代碼,項目代碼中還會分層,三層架構,DDD,微服務之類的。

我公司的項目從來不屑於(沒人知道怎樣)寫測試代碼,一些新手教程和官方文檔也沒有提到這樣來划分項目結構。所以我初次看到這樣的操作,感覺非常不錯,非常清晰,讓人類更容易理解。

然而我也想這樣划分項目的時候,遇到一個問題。我直接在Visual Studio 2019中右鍵添加文件夾,結果只有“新建解決方案文件夾”這個選項。選擇這個選項,添加的文件夾只能在VS中打開解決方案后才能看得見,在windows資源管理器中是看不見的。

我只能選擇在windows資源管理器中新建真正的文件夾,然后想辦法把它添加到解決方案中,再在這個文件夾下添加庫或者項目,結果發現行不通。

例如我新建一個叫Demo的控制台項目,在項目文件夾下新建一個src文件夾,新建一個test文件夾,把與sln文件在同一個目錄的Demo文件夾拖到src中。現在的目錄結構如圖:

Demo在src下,sln文件與src和test文件夾在同一級目錄下。

從VS2019中看,已經這樣了:

右鍵把這個已卸載的項目移除,然后右鍵解決方案,添加-已有項目,選擇到Demo.csproj,添加了項目后,發現在VS中是這樣的:

這樣從資源管理器里看是直觀了,從VS里看就不直觀了。白搞。

網上很多博客寫了讓我們點擊VS解決方案資源管理器上方菜單欄里的顯示所有文件,然后就能看到所有文件,然后再把這些文件添加到項目里。我試了,沒用,bin和obj這兩個文件夾倒是出來了:

點擊這個圖標可以切換到文件夾視圖,看起來是挺好看的,但不好用。這個時候右鍵解決方案sln文件,都不能選擇重新生成解決方案之類的操作。

查閱了國內外各種資料,包括Stackoverflow,也沒找到答案。甚至Stackoverflow中的這個問題下,很多人都說無解。很少碰到這種棘手的問題,在dotnet開發的QQ群里問,也沒人鳥我。

解決方法

我在bing這個問題的時候,在一堆無用的博客和回答中發現了這個東西:

https://marketplace.visualstudio.com/items?itemName=CeciliaWiren-CeciliaSHARP.FolderToSolutionFolder&ssr=false#overview

這是一個vs插件,它的功能如下gif圖所示:

感謝插件作者Cecilia Wirén,這個東西似乎一定程度上滿足了我的需求。趕緊下載安裝試一下。

可以看到這個插件的功能是把已有的真正的文件夾添加到解決方案中。

安裝完之后,把自己建的src和test刪掉,只留下一個Demo.sln空解決方案。像下面這樣:

雙擊打開這個解決方案,是這樣:

把這個Demo也右鍵移除掉。右擊解決方案-添加,發現有這么一項:

點擊這一項,找到我們解決方案所在的目錄,右鍵新建一個src文件夾,選中這個我們剛建好的src文件夾,點擊下方“確定”按鈕:

結果:

完美,現在windows資源管理器里也有src文件夾,Demo.sln這個解決方案里也有src文件夾,實現了我們的需求。

嘗試用這種方式在VS中在src下再新建一個Console文件夾。注意,添加Console文件夾的時候,還是要右擊解決方案,不能右擊src,右擊src是找不到這一項的。可以右擊解決方案找到這個添加選項,然后在彈出的對話框中找到src文件夾,在這個文件夾下新建Console文件夾,選中,點擊確定。

新建好的文件結構在VS的解決方案資源管理器中是這樣的:

但在windows資源管理器中真正的結構是這樣的:

可以看到Console確實是在src下的。怎么解決這個問題?直接在VS中把Console拖到src里即可:

再在這個Console文件夾下添加一個叫Demo的控制台項目,這個時候可以直接右鍵Console-添加-新建項目。(注意,添加項目時,下面這個位置要選到Console下,否則會出現一個問題:在VS中新項目在Console下,但在Windows資源管理器中,新項目在與src同級的目錄中):

添加完之后,在Windows資源管理器中的目錄結構是這樣的:

在VS中是這樣的:

在Demo這個控制台項目中新建文件夾時,可以直接在VS中右鍵這個項目-添加-新建文件夾。在本地,新建的文件夾也會出現在Demo控制台的目錄中。這樣是沒有問題的,不需要再拖動。

終於曲折地解決了問題。雖然操作還是很麻煩,但終究解決了這個問題。這個步驟操作熟練了就可以了。

我覺得這個方法依然不夠聰明,也不知道那些大佬是怎么操作的,如果有知道的朋友,請在評論區分享給我,謝謝大家。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM