'Owin.IAppBuilder' ne contient pas de définition pour 'MapSignalR' et aucune méthode d'extension 'MapSignalR' n'accepte un premier argument de type 'Owin.IAppBuilder' (manque-t-il une directive using ou une référence Assembly?) ?)
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();
}
}
}
Toute aide serait grandement appréciée ...
signalR version 2.0.3
Microsoft Owin version 2.0.2
Owin version 1.0.0
Visual Studio 2012
Installez uniquement ce nuget:
Package d'installation Microsoft.AspNet.WebApi.OwinSelfHost
Enfin, nous avons pu résoudre ce problème en ajoutantsignalRdépendances avant d'ajouter signalR à partir des paquets NuGet.
Les pas que j'ai suivis:
//version 2.0.1
//version 2.0.1
J'ai découvert un problème avec version 2.0.2
de Microsoft.Owin et Microsoft.Owin.Security, puis l'ajout d'une classe nomméeStartup.cs
avec le code suivant:
using Microsoft.Owin;
using Owin;
[Assembly: OwinStartup(typeof(webApp.Startup))]
namespace webApp
{
public static class Startup
{
public static void Configuration(IAppBuilder app)
{
app.MapSignalR();
}
}
}
Ajouter directement Microsoft Asp.Net SignalR
à partir de NuGet ajoute version 2.0.2 of Microsoft.Owin and Microsoft.Owin.Security
, ce qui crée le problème.
J'espère que ça aide quelqu'un ... !!
Update-Package Owin -Reinstall
a travaillé pour moi
En utilisant MVC5, entrez votre fichier Startup.cs.
Ajoutez IAppBuilder appBuilder
à Configure()
:
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, IAppBuilder appBuilder)
{
Puis sous
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
ajouter appBuilder.MapSignalR();
Asp.Net 5 projet mvc vide prêt à l'emploi crée quelque chose qui ressemble à ceci
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();
}
}
}
Il m'a fallu un certain temps pour constater que Configure était supposé être une configuration et que IApplicationBuilder devait être IAppBuilder. J'ai également retiré l'annotation Assembly au-dessus de l'espace de noms.
J'ai fini par perdre mon temps à essayer d'utiliser Asp.Net 5, mais je n'ai pas réussi à le faire fonctionner. Nous sommes revenus à 4,6 et tout a bien fonctionné. Suivi de cette procédure http://www.asp.net/signalr/overview/getting-started/tutorial-getting-started-with-signalr
Installer le paquet Nuget: Microsoft.AspNet.Identity.Owin
J'ai eu le même problème. Il s'avère que mon fichier .csproj est la première ligne:
Project ToolsVersion = "12.0" ne correspond pas à mes autres fichiers. Changé pour:
Projet ToolsVersion = "14.0"
et plus de problème de compilation.