WebForms和ASP.NET MVC共存

我试图按this question制作一个WebForms项目和ASP.NET MVC . 我为实现这一目标所做的一件事是我在WebForms web.config 中添加了一个名称空间节点:

<pages styleSheetTheme="Default">
  ...
  <namespaces>
    <add namespace="System.Web.Mvc"/>
    <add namespace="System.Web.Mvc.Ajax"/>
    <add namespace="System.Web.Mvc.Html"/>
    <add namespace="System.Web.Routing"/>
  </namespaces>      
</pages>

但是,当我尝试启动项目时,我收到一条错误消息:“编译器错误消息:CS0234:类型或命名空间名称'Mvc'在命名空间中不存在'System.Web'(您是否缺少程序集引用?)”

我引用了System.Web.Mvc . 有什么问题?

回答(2)

2 years ago

在编译部分添加 System.Web.Mvc

<compilation debug="true">
    <assemblies>
        <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        </assemblies>
</compilation>

2 years ago

从MVC项目开始,然后开始添加WebForms页面更容易 .

对于您的错误,您需要为以下程序集添加引用:

  • System.Web.Mvc

  • System.Web.Routing

  • System.Web.Abstractions

将在web.config中添加更多内容以使MVC正常工作 . 为了实现这一切,我建议创建一个MVC项目,并合并web.config文件 .