我有一个旧的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项目?
3 回答
在Visual Studio 2012或Visual Studio 2013中打开不受支持的MVC项目实际上很容易通过两个步骤完成 . 事实上,作为bytebender’s comment indicates,这些相同的步骤 should 适用于MVC 1项目并为其工作 . 但是,我没有对它们进行测试,因此无法保证它们确实可以正常工作 .
假设您还没有这样做,第一步是下载并安装MVC 1,MVC 2或MVC 3(在开始安装之前关闭Visual Studio) .
一旦安装了适当的MVC风格,项目仍然无法在VS 2012中加载 . 这是因为ASP.NET MVC项目是Web应用程序项目类型的project subtype . 这意味着在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
节点应该看起来像这样:从列表中删除相应的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
应该类似于:保存文件并关闭Visual Studio项目文件编辑器 . 右键单击该项目,然后选择重新加载 . 如果项目没有重新加载关闭并重新打开Visual Studio . 您现在应该能够在新版本的Visual Studio中使用旧的ASP.NET MVC项目 .
需要注意的一件重要事情是,在这些修改之后,Visual Studio不知道这是一个ASP.NET MVC项目;因此特定于项目的功能,如“添加控制器,查看等”将不会出现在菜单中 .
我使用@ ahsteele的方法(谢谢和2x 1s!),但还有一个错误: -
我找不到任何引用的真正原因,但我能够通过更改
<ProjectGuid>
让VS2012RTM成功加载项目 . (不知道这是怎么发生的 - 它是一个大型解决方案的一部分,VS08,VS10,VS11 Beta和VS2012RC都随着时间的推移升级了.csproj
和.sln
.在VS2017中,解决方案就是让它像
<ProjectTypeGuids></ProjectTypeGuids>
那样 .女士们,先生们之间没有空间,否则会浪费48小时的时间 .
问候