VS 2017開發ASP.NET Core Web應用過程中發現的一個重大Bug


  今天試着用VS 2017去開發一個.net core項目,想着看看.net core的開發和MVC5開發有什么區別,然后從中發現了一個VS2017的Bug。

  首先,我們新建項目,ASP.NET Core Web應用程序,如圖:

新建好后,我們按照習慣,在controller文件夾上面,點擊鼠標右鍵,添加控制器...,出現了如下界面:

 

這個對話框什么意思呢?怎么會提示添加依賴項呢?按理來說,我們直接調試運行,項目就跑起來了!!!

先不管他,我們直接點擊添加,然后稍等一會兒,等他添加依賴。完成后,出現下面這個頁面:

 

 

大概看了一下,項目中實際上 都已經配置好了,不管他我們繼續。

然后,我們再次右鍵 -> 添加控制器...,如圖:

 

 

我們輸入UserController,這次成功的添加了控制器,我們在View()上面,點擊鼠標右鍵,看到如下菜單:

 

 

這個時候,我們發現,並沒有我們想要的“添加視圖...“菜單,我看過一些其他人的教程,他們都是自己手動到Views目錄添加的。

好吧,那就添加吧,添加完運行了一下,結果是正確的。

這個時候,我看了一下項目默認生成的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

 聲明:本博客原創文字只代表本人工作中在某一時間內總結的觀點或結論,與本人所在單位沒有直接利益關系。非商業,未授權,貼子請以現狀保留,轉載時必須保留此段聲明,且在文章頁面明顯位置給出原文連接。

如果大家感覺我的博文對大家有幫助,請推薦支持一把,給我寫作的動力。

 


免責聲明!

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



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