我有一个旧的 ASP.NET MVC 2 项目,我不想升级到 MVC 3 或 MVC 4。我正在运行 Windows 8、Visual Studio 2012 和 Visual Studio 2013 的新计算机上工作。当我尝试在 VS 2012 或 VS 2013 中打开 MVC 2 项目我收到错误:
This project is incompatible with the current edition of Visual Studio
然后该项目将被卸载并在解决方案资源管理器中显示为灰色。我不想安装 Visual Studio 的另一个副本。如何在新版本的 Visual Studio 中打开旧的 MVC 项目?
最佳答案
在 Visual Studio 2012 中打开不受支持的 MVC 项目或 Visual Studio 2013 实际上只需两个步骤即可轻松完成。事实上,如bytebender’s comment indicates ,这些相同的步骤应该适用于 MVC 1 项目并适用于 MVC 1 项目。但是,我还没有测试过它们,因此不能保证它们确实有效。
假设您还没有这样做,第一步是下载并安装 MVC 1 , MVC 2或MVC 3 (开始安装之前关闭 Visual Studio)。
一旦安装了适当风格的 MVC,该项目仍然不会在 VS 2012 中加载。这是因为 ASP.NET MVC 项目是 project subtype Web 应用程序项目类型的。这意味着该项目在 Visual Studio 中使用时具有可用的附加插件和功能。
Visual Studio 2012 和 Visual Studio 2013 与 ASP.NET MVC 和其他项目类型的向后兼容性都受到限制。不幸的是,安装旧的 MVC 位并没有改变这一点。 Visual Studio 2012 is compatible具有 ASP.NET MVC 3 和 4 项目风格。 Visual Studio 2013 is compatible使用 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 项目;因此,项目特定的功能,如“添加 Controller 、 View 等”将不会出现在菜单中。
关于asp.net-mvc - 如何在 Visual Studio 2012 或 Visual Studio 2013 中打开旧的 MVC 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13424079/