繁体   English   中英

如何在Visual Studio 2012或Visual Studio 2013中打开旧的MVC项目?

[英]How do I open an old MVC project in Visual Studio 2012 or Visual Studio 2013?

我有一个旧的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 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>

从列表中删除相应的Project 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}

删除适当的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项目; 因此,项目特定功能,如“添加控制器,查看等” 将不会出现在菜单中。

我使用@ ahsteele的方法(谢谢和2x + 1s!),但还有一个错误: -

.csproj:错误:操作无法完成。 无效的类字符串

我找不到任何引用的真正原因,但我能够通过更改<ProjectGuid>让VS2012RTM成功加载项目。 (不知道这是怎么发生的 - 它是一个大型解决方案的一部分,VS08,VS10,VS11 Beta和VS2012RC都随着时间的推移升级了.csproj.sln

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

女士们,先生们之间没有空间,否则会浪费48小时的时间。

问候

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM