15

在 IIS 7.5 上运行我的 MVC 4 应用程序时出现以下错误。但是,当我通过 Visual Studio 运行此应用程序时,它不会引发错误。此外,我尝试在我的 Uni 计算机上托管应用程序,它似乎工作正常。

  Compiler Error Message: CS0433: The type 'System.Web.Mvc.WebViewPage<TModel>' exists in   both      'c:\windows\Microsoft.NET\assembly\GAC_MSIL\System.Web.Mvc\v4.0_4.0.0.0__31bf3856ad364e35\System.Web.Mvc.dll' and 'c:\windows\Microsoft.NET\assembly\GAC_MSIL\System.Web.Mvc\v4.0_3.0.0.0__31bf3856ad364e35\System.Web.Mvc.dll'

这是我的 web.config 文件中引用的程序集

     <system.web>
         <compilation targetFramework="4.0">
            <assemblies>
                <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral,     PublicKeyToken=31BF3856AD364E35" />              
                <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
                <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />               
                <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
            </assemblies>
        </compilation>      
</system.web>
4

2 回答 2

40

System.Web.Mvc在应用程序 bin 文件夹中有程序集吗?如果是这样,请尝试删除

<add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 

来自 web.config。

于 2013-09-17T08:57:09.550 回答
0

它没有解决我的问题,但事实证明,将版本更改为 3.0.0.1 确实:

<add assembly="System.Web.Mvc, Version=3.0.0.1, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

和:

<runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.1" /> </dependentAssembly> </assemblyBinding> </runtime> <applicationSettings>

于 2016-03-10T17:15:20.857 回答