如何在同一台机器上运行ASP.NET MVC 1和2?

时间:2009-09-16 19:55:33

标签: asp.net-mvc

我使用MVC 1开发了一个站点,然后更新到MVC 2预览1,现在当我打开站点时发现错误:

  

此安装不支持项目类型。

由于我想用版本1来坚持这个项目,但我想用版本2创建我的新项目,如何在安装版本2时解决这个已经制作的项目与ASP.NET MVC 1一起运行?

我想解决方案是在解决web.config中的一些引用的路径,但我不确切知道是什么。

1 个答案:

答案 0 :(得分:1)

您需要在csproj文件中更正项目类型Guid。较早版本的MVC(预览)使用了不同的Guid。不过,您的项目仍然可以链接到MVC 1。

解决此问题:

  1. 确保项目已检入源代码管理中,以防出现任何问题。
  2. 在解决方案资源管理器中右键单击Web项目。单击“卸载项目”
  3. 再次右键单击,选择“编辑.csproj”
  4. 查找ProjectTypeGuids,替换为以下值。
  5. 保存,然后右键单击并重新加载项目。
  6. 疯狂测试以确保它仍然可以像您期望的那样使用MVC 1.确保为MVC 1程序集指定了强名称,而不是bin部署。对于GAC中的两个版本,您需要强名称。

    <ProjectTypeGuids>{F85E285D-A4E0-4152-9332-AB1D724D3325};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
    
  7. 此外,MVC 2项目需要在Web.config中使用bindingRedirect。 MVC 2发行说明说,仅当“项目引用任何针对ASP.NET MVC 1.0编译的第三方库”时才需要这样做,但是they're wrong