如何在同一台机器上运行ASP.NET MVC 1和2?
问题描述:
我已经开发使用MVC 1站点,然后更新到MVC 2预览版,现在当我打开该网站,我发现了错误:如何在同一台机器上运行ASP.NET MVC 1和2?
The project type is not supported by this installation.
因为我想用第1版坚持这个项目,但我也想用第二版创建我的新项目,如何解决这个已经制作的项目,在安装版本2的同时使用ASP.NET MVC 1运行?
我想解决方案在解决web.config中的一些引用的路径,但我不知道到底是什么。
答
您需要在csproj文件中更正项目类型Guid。较早版本的MVC(预览)使用了不同的Guid。不过,您的项目仍然可以链接到MVC 1。
要解决这个问题:
- 确保项目签入源代码控制,万一有什么差错。
- 右键单击解决方案资源管理器中的Web项目。点击“卸载项目”
- 再次右键单击,选择“编辑.csproj”
- 查找
ProjectTypeGuids
,用下面的值替换。 - 保存,然后右键单击并重新加载项目。
-
测试如疯狂,以确保它仍然按照您对MVC 1期望的方式工作。确保您为MVC 1程序集指定了强名称,而不是bin部署。对于GAC中的这两个版本,您都需要强大的名称。
<ProjectTypeGuids>{F85E285D-A4E0-4152-9332-AB1D724D3325};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
此外,MVC 2的项目需要在Web.config中一个bindingRedirect。 MVC 2发布说明称,只有在项目引用了任何针对ASP.NET MVC 1.0编译的第三方库时才需要这样做,但这仅仅是they're wrong。