![](/img/trans.png)
[英]Opening project for 2013 in 2012 Visual Studio for MVC gives error
[英]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 1 , MVC 2或MVC 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:
{603c0e0b-db56-11dc-be95-000d561079b0}
{F85E285D-A4E0-4152-9332-AB1D724D3325}
(如上例所示) {E53F8FEA-EAE0-44A6-8774-FFD645390401}
{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.