WebForms and ASP.NET MVC co-existence

2019-02-24 18:28发布

I am trying to make a WebForms project and ASP.NET MVC per this question. One of the things I've done to make that happen is that I added a namespaces node to the 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>

However, when I try to start the project, I get an error stating: "Compiler Error Message: CS0234: The type or namespace name 'Mvc' does not exist in the namespace 'System.Web' (are you missing an assembly reference?)"

I have System.Web.Mvc referenced. What is the issue?

2条回答
我想做一个坏孩纸
2楼-- · 2019-02-24 18:29

Add System.Web.Mvc in the compilation section,

<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>
查看更多
戒情不戒烟
3楼-- · 2019-02-24 18:38

It's easier to start with an MVC project, and then start adding WebForms pages.

For your error, you will need to add references for the following assemblies:

  • System.Web.Mvc
  • System.Web.Routing
  • System.Web.Abstractions

There will be much more to add in the web.config to get MVC working correctly. To get it all, I'd suggest creating an MVC project, and merging the web.config files.

查看更多
登录 后发表回答