Asp.net-Mvc

如何在 Visual Studio 2012 或 Visual Studio 2013 中打開舊的 MVC 項目?

  • November 16, 2012

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

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

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

在Visual Studio 2012或 Visual Studio 2013 中打開不受支持的 MVC 項目實際上很容易通過兩個步驟完成。事實上,正如bytebender 的評論所表明的那樣,這些相同的步驟應該適用於 MVC 1 項目並適用於 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 項目。因此,特定於項目的功能,如“添加控制器、視圖等”。不會出現在菜單中。

引用自:https://stackoverflow.com/questions/13424079