Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 类型';System.Web.Mvc.ViewPage';含糊不清_Asp.net Mvc - Fatal编程技术网

Asp.net mvc 类型';System.Web.Mvc.ViewPage';含糊不清

Asp.net mvc 类型';System.Web.Mvc.ViewPage';含糊不清,asp.net-mvc,Asp.net Mvc,升级ASP.NET MVC版本后出现此问题 类型“System.Web.Mvc.ViewPage”不明确:它可能来自程序集 在解决方案资源管理器中,单击引用>System.Web.Mvc。单击“属性”并将“复制本地”设置为True 通过这种方式,您将确保在项目中获得正确的MVC版本,而不依赖GAC中安装的任何版本。此方法还允许您bin部署MVC DLL。我知道您已经为自己提供了答案,但另一个解决方案是使用重定向依赖程序集并指向正确程序集的元素更新web.config: <runtime&

升级ASP.NET MVC版本后出现此问题

类型“System.Web.Mvc.ViewPage”不明确:它可能来自程序集


在解决方案资源管理器中,单击引用>System.Web.Mvc。单击“属性”并将“复制本地”设置为True


通过这种方式,您将确保在项目中获得正确的MVC版本,而不依赖GAC中安装的任何版本。此方法还允许您bin部署MVC DLL。

我知道您已经为自己提供了答案,但另一个解决方案是使用重定向依赖程序集并指向正确程序集的
元素更新web.config:

 <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>


请注意,从NuGet更新项目对大多数程序集自动执行相同的操作。

这为我解决了问题

 <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Abstractions" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Routing" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.0.1" newVersion="4.0.0.1" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>


太棒了,谢谢。事实上,我认为我的解决方案是有效的,因为我让它在本地工作。但当我来到bin deploy时,我陷入了困境,我的一个DLL在其清单中不知何故获得了bung引用(我正在使用从MvcFutures v1复制和粘贴的一些代码,但我看不到其中提到的任何版本)。所以你的回答解决了我的第二个相关问题!谢谢对我来说,这表明,在从MVC3升级到NuGet版本之后,我忽略了在web.config中实现随后的更改。