asp.net mvc - 如何在Visual Studio 2012或Visual Studio 2013中打開舊的MVC項目?




asp.net-mvc visual-studio (2)

我有一個舊的ASP.NET MVC 2項目,我不想升級到MVC 3或MVC 4.我正在運行Windows 8,Visual Studio 2012和Visual Studio 2013的新機器。當我嘗試打開MVC 2項目在VS 2012或VS 2013中收到錯誤:

該項目與當前版本的Visual Studio不兼容

該項目然後卸載並在解決方案資源管理器中變灰。 我不想安裝Visual Studio的另一個副本。 我如何在Visual Studio的新版本中打開一個舊的MVC項目?


Visual Studio 2012或Visual Studio 2013中打開不受支持的MVC項目實際上很容易通過兩個步驟完成。 事實上,正如bytebender的評論所指出的 ,這些相同的步驟應該適用於MVC 1項目並為其工作。 但是,我沒有對它們進行測試,因此不能保證它們確實有效。

假設您尚未完成第一步,請下載並安裝MVC 1MVC 2MVC 3 (在開始安裝之前關閉Visual Studio)。

一旦你安裝了適當的MVC風格,項目仍然不會在VS 2012中加載。這是因為ASP.NET MVC項目是Web應用程序項目類型的項目子類型。 這意味著該項目在Visual Studio中使用時具有可用的附加插件和功能。

Visual Studio 2012和Visual Studio 2013在向後兼容ASP.NET MVC和其他項目類型方面受到限制。 不幸的是,安裝舊的MVC位並沒有改變這一點。 Visual Studio 2012與ASP.NET MVC 3和4項目風格兼容Visual Studio 2013與MVC 4和MVC 5 兼容

為了加載項目,你必須修改項目文件。 為此,請右鍵單擊卸載的項目並選擇編輯。 這將打開項目文件作為XML文本文件。 找到應該看起來像這樣的ProjectTypeGuids節點:

<ProjectTypeGuids>
    {F85E285D-A4E0-4152-9332-AB1D724D3325};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}
</ProjectTypeGuids>

從列表中刪除適當的項目指導:

  • 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}

在刪除適當的GUID後, ProjectTypeGuids看起來應該與此類似:

<ProjectTypeGuids>
    {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}
</ProjectTypeGuids>

保存該文件並關閉Visual Studio項目文件編輯器。 右鍵單擊該項目並選擇重新加載。 如果項目不重新關閉並重新打開Visual Studio。 您現在應該能夠在新版本的Visual Studio中使用舊的ASP.NET MVC項目。

需要注意的一點是,在這些修改之後,Visual Studio並不知道這是一個ASP.NET MVC項目; 因此項目特有的功能如“添加控制器,查看等” 將不會出現在菜單中。


在VS2017中,解決方案就是使它像<ProjectTypeGuids></ProjectTypeGuids>那樣。

女士們和先生們之間沒有空間,否則會浪費您48小時的時間。

問候







visual-studio-2013