以下方法之间的调用不明确

时间:2013-01-03 07:33:07

标签: asp.net signalr

我使用 SignalR 1.0.0 alpha 2 创建了一个基本的聊天应用程序。现在,当我进行简单的修改并尝试运行代码时,我收到以下错误:

  

内部服务器错误500

即使在错误未执行时将修改后的代码撤消到旧代码中,我也会卸载Signalr,认为它可能已损坏。

当我再次安装SignalR( SignalR 1.0.0 rc1 )时,我在 RegisterHubs.cs 中收到以下错误:

  

错误1 The call is ambiguous between the following methods or properties: 'Microsoft.AspNet.SignalR.RouteExtensions.MapHubs(System.Web.Routing.RouteCollection)' and 'Microsoft.AspNet.SignalR.RouteExtensions.MapHubs(System.Web.Routing.RouteCollection)' C:\Users\noName\Desktop\Main project\Chat_Application\App_Start\RegisterHubs.cs 15 13 Chat_Application

我提到了 link ,它说只要有重复的方法就会发生此错误。我理解这个问题,但我不知道如何解决这个问题。

我在 aspx 页面中添加了与较新版本的SignalR相关的以下脚本(删除了旧版链接)

<script src="Scripts/jquery-1.8.3.min.js" type="text/javascript"></script>
<script src="Scripts/jquery.signalR-1.0.0-rc1.min.js" type="text/javascript"></script>
<script type="text/javascript" src='<%: ResolveClientUrl("~/signalr/hubs") %>'></script>
//even tried
//<script src="/signalr/hubs" type="text/javascript"></script>
//My javascript and CSS files here

请帮忙。

3 个答案:

答案 0 :(得分:0)

执行以下操作:

  1. 关闭visual studio(甚至更好:重新启动计算机,只是为了安全)
  2. 打开C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporary ASP.NET Files
  3. 从此目录中删除文件(这些是临时文件,不用担心)
  4. 启动visual studio并重建所有
  5. 我希望它适合你!

答案 1 :(得分:0)

您可能在项目/系统中有两个版本的程序集。首先,检查所有项目中的程序集引用 - 所有相关引用应指向一致的SignalR版本。如果可能,请删除以前的版本 - 从GAC中删除和/或从解决方案中删除NuGet包。

答案 2 :(得分:0)

我遇到了同样的问题,所以我在这里发布我的解决方案,希望它可以帮助其他人:

如果您安装了Fall Update并使用添加新项&gt; SignalR Hub Class ,它还包括以下两个包和相关参考:

  

Microsoft.AspNet.SignalR.Hosting.AspNet.1.0.0-ALPHA1   Microsoft.AspNet.SignalR.Hosting.Common.1.0.0-α1

包含这些引用会导致同样的问题。删除它解决了它。

您还应删除秋季更新并安装latest one from here