2014-04-14 15 views
22

錯誤

定義「Owin.IAppBuilder」不包含關於「MapSignalR」和沒有擴展方法的定義「MapSignalR」接受的第一個參數類型「Owin.IAppBuilder」可以找到(是否缺少using指令或程序集引用?)「Owin.IAppBuilder」不包含關於「MapSignalR」

代碼

using Microsoft.Owin; 
using Owin; 

[assembly: OwinStartup(typeof(SignalRChat.Startup))] 
namespace SignalRChat 
{ 
    public class Startup 
    { 
     public void Configuration(IAppBuilder app) 
     { 
      // Any connection or hub wire up and configuration should go here 
      app.MapSignalR(); 
     } 
    } 
} 

任何幫助將是很大的讚賞...

更新

signalR版本2.0.3
微軟Owin版本2.0.2
Owin版本1.0.0
的Visual Studio 2012

回答

35

只有安裝此的NuGet:

安裝,包裝Microsoft.AspNet.WebApi.OwinSelfHost

+2

需要安裝此[nuget](https://www.nuget.org/packages/Microsoft.Owin.Cors/): 安裝包Microsoft.Owin.Cors -Version 3.1.0 – feganmeister

15

最後能夠通過增加來解決它信號R在添加來自NuGet的信號之前的相關性包
步驟1我遵循:

  1. 新增Microsoft.Owin //version 2.0.1
  2. 新增Microsoft.Owin.Security //version 2.0.1
  3. 加入微軟Asp.Net SignalR

我發現的是與Microsoft.Owin version 2.0.2問題的原因和Microsoft.Owin.Security,然後添加一個類名爲Startup.cs以下代碼:

using Microsoft.Owin; 
using Owin; 

[assembly: OwinStartup(typeof(webApp.Startup))] 
namespace webApp 
{ 
    public static class Startup 
    { 
     public static void Configuration(IAppBuilder app) 
     { 
      app.MapSignalR(); 
     } 
    } 
} 

直接添加Microsoft Asp.Net SignalR從的NuGet增加version 2.0.2 of Microsoft.Owin and Microsoft.Owin.Security其產生的問題。
希望它可以幫助別人...!

+0

謝謝!你讓我在週五晚上非常沮喪! – chavakane

+0

僅供參考2015年2月15日這似乎已解決。我只直接安裝了Microsoft.AspNet.SignalR,上面的工作正常。 –

+0

這是一箇舊的解決方案。請參考@mggSoft的答案以獲取最新答案。 – Bhavik

9
Update-Package Owin -Reinstall 

工作對我來說

+0

也爲我工作謝謝。我嘗試了上面的其他解決方案,但他們沒有工作。這一個。 – jward01

0

Asp.Net 5空MVC項目開箱即用的東西產生看起來像這樣

using Microsoft.Owin; 
using Owin; 
namespace DeadlyChat 
{ 
public class Startup 
{ 
    // For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=398940 
    public void ConfigureServices(IServiceCollection services) 
    { 
    } 

    public void Configure(IApplicationBuilder app) 
    { 
     app.MapSignalR(); 



     } 
    } 
} 

我花了一段時間來注意?帽子配置應該是配置和IApplicationBuilder需要是IAppBuilder。我還從名稱空間上方取消了組裝註釋。

我結束了報廢試圖使用Asp.Net 5無法讓它工作。回到4.6,一切正常。跟隨此演練http://www.asp.net/signalr/overview/getting-started/tutorial-getting-started-with-signalr

1

我有這個相同的問題。變成我的.csproj文件的第一行:

Project ToolsVersion =「12.0」與我的其他文件不匹配。把它改爲:

項目ToolsVersion = 「14.0」

並沒有更多的編譯問題。

2

使用MVC5,輸入您的Startup.cs文件。

添加IAppBuilder appBuilderConfigure()

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, IAppBuilder appBuilder) 
    { 

然後,

app.UseMvc(routes => 
{ 
    routes.MapRoute(
     name: "default", 
     template: "{controller=Home}/{action=Index}/{id?}"); 
}); 

下添加appBuilder.MapSignalR();