今天試着用VS 2017去開發一個.net core項目,想着看看.net core的開發和MVC5開發有什麼區別,而後從中發現了一個VS2017的Bug。html
首先,咱們新建項目,ASP.NET Core Web應用程序,如圖:git
新建好後,咱們按照習慣,在controller文件夾上面,點擊鼠標右鍵,添加控制器...,出現了以下界面:github
這個對話框什麼意思呢?怎麼會提示添加依賴項呢?按理來講,咱們直接調試運行,項目就跑起來了!!!測試
先無論他,咱們直接點擊添加,而後稍等一下子,等他添加依賴。完成後,出現下面這個頁面:spa
大概看了一下,項目中實際上 都已經配置好了,無論他咱們繼續。.net
而後,咱們再次右鍵 -> 添加控制器...,如圖:調試
咱們輸入UserController,此次成功的添加了控制器,咱們在View()上面,點擊鼠標右鍵,看到以下菜單:htm
這個時候,咱們發現,並無咱們想要的「添加視圖...「菜單,我看過一些其餘人的教程,他們都是本身手動到Views目錄添加的。blog
好吧,那就添加吧,添加完運行了一下,結果是正確的。教程
這個時候,我看了一下項目默認生成的HomeContorller,發現一個問題,這裏面的View()上面點擊右鍵菜單,居然有「添加視圖...」這個菜單,如圖:
並且,鼠標放到View()上面,還會顯示視圖的路徑,如圖:
可是,到咱們新建的UserController裏面,什麼都沒有,這是不合理的,確定是咱們哪裏操做的不對,纔會形成這樣的狀況。
因此,通過一番研究,我發現一個問題,咱們經過右鍵 -> 添加新項...,對話框中選擇以下的控制器(ASP.NET Core),建立的出來的控制器,右鍵菜單會出現」添加視圖...「,如圖:
因而,我愉快的點擊右鍵 ->添加視圖...,完成了操做,結果也正如咱們所料,VS2017自動新建了目錄和cshtml文件。
可是,咱們回來看,控制器裏面的View()仍是顯示紅色,並不像HomeController中那樣;這說明,VS2017並無識別咱們新建的視圖。
恰好個人電腦安裝的有Resharper,我鼠標放過去出現下面提示,如圖:
因而,我選擇了第一個,添加了視圖,發現,此次纔是徹底對了,和HomeController中如出一轍了。
沒有安裝Resharper的,你們能夠經過如下方法添加視圖,
1.按照控制器添加好文件夾,這裏是Test.
2.在新建的文件夾上面,鼠標右鍵 -> 添加新建項...,出現以下對話框:
輸入對應的方法名便可。
總結:
從上面的操做種種跡象發現,VS2017這裏的右鍵菜單是錯誤的,默認添加的都是MVC5的控制器和視圖,因此纔會出現添加MVC依賴項那個對話框。因而我又從新新建了一個項目測試了一下,發現那個「添加MVC依賴項」的對話框沒有出現。
後面你們開發時,要記得用正確的方式添加控制器,至於視圖,仍是要手動添加的,若是有Resharper則按下Alt +Enter鍵,回車便可。但願微軟早日修復這個Bug。
做者:雲霏霏
.NET QQ交流羣:243633526 安卓QQ交流羣:227526925 更多類型交流羣敬請期待!
博客地址:http://www.cnblogs.com/yunfeifei/
Github地址:https://github.com/yunfeifei
聲明:本博客原創文字只表明本人工做中在某一時間內總結的觀點或結論,與本人所在單位沒有直接利益關係。非商業,未受權,貼子請以現狀保留,轉載時必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接。
若是你們感受個人博文對你們有幫助,請推薦支持一把,給我寫做的動力。