2013-02-13 55 views
0

这可能是一个类似的问题,但由于其他人没有回答,我以为我会问这里。我有一个MVC 4应用程序工作在我的本地罚款,但是当我部署到我的虚拟主机,我得到了以下错误'System.Web.WebPages.Scripts'和'System.Web.Optimization.Scripts'之间的歧义引用

ambiguous reference between 'System.Web.WebPages.Scripts' and 'System.Web.Optimization.Scripts'

@Scripts.Render("")

虽然@Styles.Render("")是罚款。

最简单的解决方法是什么?我不应该在每个@Scripts前面追加“System.Web.Optimization”。

谢谢!

编辑:我想在我的web.config注释掉System.Web.WebPages,仍然没有工作,这是我的web.config

<pages> 
    <namespaces> 
    <add namespace="System.Web.Helpers" /> 
    <add namespace="System.Web.Mvc" /> 
    <add namespace="System.Web.Mvc.Ajax" /> 
    <add namespace="System.Web.Mvc.Html" /> 
    <add namespace="System.Web.Optimization" /> 
    <add namespace="System.Web.Routing" /> 
    <!--<add namespace="System.Web.WebPages" />--> 
    </namespaces> 
</pages> 
+0

与本地系统相比,主机上安装了什么版本的.net。我已经看到一些类似的问题,当一个有.net 4.5和其他.net 4 – 2013-02-13 01:26:48

+0

谢谢斯科特,我会检查我的主机。他们对ASP.NET 4.0(集成管道)有这个选项,我被告知我是4.5。 – 2013-02-13 01:40:22

+0

我的网络主机确认它的服务器上有4.5个!很奇怪,我的应用在我的机器上运行良好,不知道有什么不同。更奇怪的是,类型“System.Web.WebPages.Scripts”甚至不存在! – 2013-02-13 04:38:09

回答

1

这个问题已经通过执行解决由网络主机以下:

删除从GAC(因为它意味着是仓部署),并重新安装ASP.NET网页MVC 4参考2.

基本上System.Web.WebPages.Scripts是不是在网页命名为不再webpages2,重新安装它似乎有所帮助。

希望这可以帮助他人。

Ray。