Pregunta

Error

'owin.iappbuilder' no contiene una definición para 'mapsignalr' y no se puede encontrar un método de extensión 'Mapsignalr' aceptando un primer argumento del tipo 'Owin.IAPPBuilder' (¿está perdiendo un uso¿Directiva o una referencia de ensamblaje?)

Código

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

Cualquier ayuda sería muy apreciada ...

Actualización

Signalr versión 2.0.3
Microsoft Owin versión 2.0.2
Owin versión 1.0.0
Visual Studio 2012

¿Fue útil?

Solución

Solo instale este nuget:

Instalar: paquete Microsoft.aspnet.webapi.owinselfhost

Otros consejos

Finalmente fue capaz de resolverlo agregando signationr dependencias antes de agregar señalR de los paquetes de Nuget
PASO SIGO SIGO:

  1. agregó microsoft.owin //version 2.0.1
  2. agregó microsoft.owin.security //version 2.0.1
  3. agregó Microsoft asp.net SignalR
  4. La razón por la que descubrí fue un problema con version 2.0.2 de microsoft.owin y microsoft.owin.security y luego agregando una clase llamada Startup.cs con el siguiente código:

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

    Agregar directamente Microsoft Asp.Net SignalR de Nuget agrega version 2.0.2 of Microsoft.Owin and Microsoft.Owin.Security que crea el problema.
    Espero que ayude a alguien ... !!

Update-Package Owin -Reinstall

trabajado para mí

Instalar el paquete de nuget: Microsoft.AspNet.Identity.Owin

Uso de MVC5, ingrese su archivo StartUP.CS.

Añadir IAppBuilder appBuilder a Configure():

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

entonces, bajo

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

Añadir appBuilder.MapSignalR();

ASP.NET 5 El proyecto MVC vacío fuera de la caja crea algo que se parece a esto

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



       }
    }
}

Me tomó un tiempo para notar que se suponía que la configuración era la configuración e IAPPlicationBuilder necesita ser IAPPBuilder.También apagué la anotación de montaje sobre el espacio de nombres.

Herido la desguace tratando de usar ASP.NET 5 no podría hacerlo funcionar.Volví a 4.6 y todo funcionó bien.Siguió este tutorial http://www.asp.NET / SEIVESSR / DESCRIPCIÓN GENERAL / INICIO DE INICIADO / TUTORIAL-PRINCIPANTE EN COMENZADOR - CON-SIVELSR

Tuve este mismo problema.Resulta mi archivo .csproj la primera línea:

Proyecto ToolsVersion="12.0" no coincide con mis otros archivos.Lo cambió a:

Herramientas de proyectoVersion="14.0"

y no más problema de compilación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top