53

我已經將ASP.NET MVC 4集成到現有的asp.net網站。這兩個工作正常,但我沒有看到任何菜單/快捷方式在Visual Studio IDE中創建控制器/視圖。這些僅適用於ASP.NET MVC模板嗎?上下文菜單添加控制器/查看丟失

+0

可能的重複[如何在我的ASP.NET MVC項目中添加「添加控制器」和「添加視圖」菜單選項?](http://stackoverflow.com/questions/811510/how-do-i -get-the-add-controller-and-add-view-menu-options-in-my-asp-net-mvc) – Martin

回答

110

這些僅適用於ASP.NET MVC模板嗎?

是的,但你可以作弊。 Visual Studio顯示這些快捷方式的方式是查看項目類型,如果它看到它是一個ASP.NET MVC項目,它將使它們可用。但它如何知道它是一個ASP.NET MVC項目?畢竟ASP.NET MVC是一個ASP.NET項目。

打開.csproj文件並查找ASP.NET MVC 4項目的<ProjectTypeGuids>節點。你會看到這樣的事情:

<ProjectTypeGuids>{E3E379DF-F4C6-4180-9B81-6769533ABE47};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids> 

已經在列表中打開.csproj文件的定期ASP.NET項目,只需添加{E3E379DF-F4C6-4180-9B81-6769533ABE47} GUID作爲第一個項目(如果你不這樣做的項目甚至不負載) 。就這樣。現在,您將在WebForms項目中看到ASP.NET MVC特定的上下文菜單。

+2

在Visual Studio 2012上工作 –

+0

我不知道。當你測試它時發生了什麼? –

+1

您必須添加新的GUID作爲第一項顯然工作(否則它不能加載項目)。 – sebastiaan

0

你是對的。這些上下文菜單選項的存在是項目類型/模板特定的。

+2

感謝您的回覆。是否有任何插件可以在ASP.NET Web窗體應用程序中利用MVC? – user1186065

+0

@StormeHawke我不同意,它直接回答了上述問題:「那些僅適用於ASP.NET MVC模板?」。 –

3

答案2是正確的只是錯誤的GUID

{E53F8FEA-EAE0-44A6-8774-FFD645390401}

是你在VS2010需要什麼MVC

+4

嗨,唐。歡迎來到StackOverflow。頁面上出現的訂單答案不能保證(默認情況下,它會按等級變化),因此通過#引用帖子可能會造成混淆。 – Matt

31

步驟來改變GUID

  1. 右鍵單擊解決方案資源管理器中的項目
  2. 單擊卸載項目
  3. 權的項目再次單擊在解決方案資源管理
  4. 編輯projectfolder/projectname.csproj
  5. Chagne GUID
  6. 點擊右鍵,選擇 「刷新工程」

<ProjectTypeGuids>標籤在開頭添加任何這些GUID

{E3E379DF-F4C6-4180-9B81-6769533ABE47}; 

{E53F8FEA-EAE0-44A6-8774-FFD645390401}; 
+0

Visual Studio 2013'{E53F8FEA-EAE0-44A6-8774-FFD645390401}'爲我工作,但'{E3E379DF-F4C6-4180-9B81-6769533ABE47}'沒有 – hunter

+2

您需要檢查http://www.codeproject。 com/Reference/720512/List-of-Visual-Studio-Project-Type-GUID –

+2

對於MVC5,您需要添加:{E3E379DF-F4C6-4180-9B81-6769533ABE47}; –

1

當網站打開MVC項目時,我遇到了同樣的問題。我重新打開解決方案,通過打開 - >項目,這個功能按我的預期工作。

+0

如果可以,請提供一些更多詳細信息。簡短的答案是可以接受的,但更好的答案比這更詳細。請參閱StackOverflow的[如何回答](http://stackoverflow.com/help/how-to-answer)。 –

8

對於使用MVC 5人,在開始添加此項

{E3E379DF-F4C6-4180-9B81-6769533ABE47}; 

。其他指導將無法工作。

+0

謝謝!這幫助我與MVC5 –

0

對於舊版本

{F85E285D-A4E0-4152-9332-AB1D724D3325} 
1

我知道這是舊的文章,但我只是碰到了VS2013和VS2012之間的切換對於MVC 5項目。我遇到的問題是,我使用的MVC模板版本未從Visual Studio更新中安裝。 VS2012沒有隨MVC5一起出現,因此VS2012需要更新才能添加模板。與我想象的VS2010和MVC4一樣。

無論如何,從微軟下載更新解決了我的問題,因爲當另一個版本打開並保存項目時,使用上述修復程序時它將再次消失。

以下是VS2012 MVC5更新的鏈接。確保您下載並安裝了Tools更新和VS插件。

http://www.microsoft.com/en-us/download/details.aspx?id=41532

-2

VS2012上下文菜單中添加控制器/視圖中缺少

在VS2012 & MVC4嘗試反安裝的Web API 5.2 PM:

UnInstall-Package Microsoft.AspNet.WebApi 
0

對我來說,從我期待在那裏失蹤它存在(在菜單的頂部顯示,當你右鍵點擊一個視圖文件夾,然後點擊'添加'),然後我在'從模板新建'下的子上下文菜單中找到它!我已經安裝了重新清晰,我想這事,因爲它(同樣的Visual Studio 2012):

enter image description here

+0

這是一個resharper菜單,如果我記得正確 –

2

通過右鍵單擊該項目在解決方案資源管理器中,您需要卸載項目,編輯項目,使用下面的圖表更改標籤,然後重新加載項目。 將適當的GUID粘貼到csproj文件列表的前面。

不同版本的MVC的不同的GUID:

ASP.NET MVC 1 {603C0E0B-DB56-11DC-BE95-000D561079B0} 
ASP.NET MVC 2 {F85E285D-A4E0-4152-9332-AB1D724D3325} 
ASP.NET MVC 3 {E53F8FEA-EAE0-44A6-8774-FFD645390401} 
ASP.NET MVC 4 {E3E379DF-F4C6-4180-9B81-6769533ABE47} 
ASP.NET MVC 5 {349C5851-65DF-11DA-9384-00065B846F21} 
3

什麼都不做只是更新您的MVC項目。在你的Nuget Package Manager控制檯中激活這個命令。

更新,包裝Microsoft.AspNet.Mvc

+0

爲我工作。更改GUID並沒有幫助(我的項目中已經有了MVC 4 GUID)。 –

1

有同樣的問題與VS2015,有助於改變ProjectTypeGuids內容:

{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} 
+0

你改變了哪個文件? –

+0

我更改了.csproj文件 –

1

我在VS2012,並試圖季米特洛夫回答(將特定的GUID添加到項目文件的ProjectTypeGuids中)。雖然這確實給了我控制器操作丟失的上下文菜單,但我在我的Razor頁面上缺少智能感知。

事實證明我錯過了我正在處理的MVC項目版本的VS工具,並且安裝這個工具(而不是編輯項目文件)解決了我的問題。

Download page for ASP.NET and Web Tools 2013.1 for Visual Studio 2012

我發現從下面的博客帖子這個下載鏈接:

Announcing release of ASP.NET and Web Tools 2013.1 for Visual Studio 2012

0

當一切都失敗了,你可能希望復位VS高速緩存(重新安裝VS2015之前)。這對我來說很有效(修理之後 - 不要插手GUIDS)。只需刪除此鏈接中提及的文件夾中的內容(大約需要30秒),然後執行該命令。這需要10秒鐘。重新啓動VS,你會看到VS中的第一次用戶的屏幕。它像一個魅力。

http://blogs.msdn.com/b/willy-peter_schaub/archive/2010/09/15/if-you-have-problems-with-tfs-or-visual-studio-flush-the-user-cache-or-not.aspx

0

當你只是從你的代碼庫和的NuGet軟件包,包括Microsoft.AspNet.Mvc檢查了您的解決方案的全新副本,也會出現此問題,還沒有被下載。重建解決方案可以解決問題。

相關問題