web-dev-qa-db-ja.com

「Owin.IAppBuilder」には「MapSignalR」の定義が含まれていません

エラー

'Owin.IAppBuilder'には 'MapSignalR'の定義が含まれておらず、タイプ 'Owin.IAppBuilder'の最初の引数を受け入れる拡張メソッド 'MapSignalR'が見つかりませんでした( usingディレクティブまたはアセンブリ参照がありませんか?)

コード

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
Microsoft Owinバージョン2.0.2
Owinバージョン1.0.0
Visual Studio 2012

28
Bhavik

このヌジェのみをインストールします:

インストールパッケージMicrosoft.AspNet.WebApi.OwinSelfHost

47
mggSoft

最後に、NuGetパッケージからsignalRを追加する前にsignalR依存関係を追加することで、それを解決できました
ステップに従いました:

  1. Microsoft.Owin //version 2.0.1を追加しました
  2. Microsoft.Owin.Securityを追加しました//version 2.0.1
  3. Microsoft Asp.Net SignalRを追加しました

私が発見した理由は、Microsoft.OwinおよびMicrosoft.Owin.Securityversion 2.0.2に問題があり、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();
        }
    }
}  

NuGetからMicrosoft Asp.Net SignalRを直接追加すると、version 2.0.2 of Microsoft.Owin and Microsoft.Owin.Securityが追加され、問題が発生します。
誰かに役立つことを願っています... !!

20
Bhavik
Update-Package Owin -Reinstall

私のために働いた

12
Saboor Awan

Nugetパッケージのインストール:Microsoft.AspNet.Identity.Owin

3

MVC5を使用して、Startup.csファイルを入力します。

_IAppBuilder appBuilder_をConfigure()に追加します。

_ 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();を追加

2
Adam Reed

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();



       }
    }
}

ConfigureがConfigurationであり、IApplicationBuilderがIAppBuilderである必要があることに気づくまでしばらくかかりました。また、名前空間の上にあるAssemblyアノテーションも削除しました。

Asp.Net 5を使用しようとしてスクラップを作成しましたが、動作しませんでした。 4.6に戻り、すべて正常に機能しました。このチュートリアルに従ってください http://www.asp.net/signalr/overview/getting-started/tutorial-getting-started-with-signalr

1
DeadlyChambers

同じ問題がありました。最初の行の.csprojファイルが判明します。

Project ToolsVersion = "12.0"は他のファイルと一致しませんでした。変更後:

Project ToolsVersion = "14.0"

コンパイルの問題はもうありません。

1
zillabyte