Le type ou l’espace de noms IAppBuilder est introuvable (manquant à l’aide d’une directive pr une référence d’assembly)

Je travaille sur une application Asp.Net MVC 4 dans laquelle j’utilise SignalR 2.0.1 et je l’ai mappée en utilisant la classe Owin Startup et cela a bien fonctionné au début.

Tout à coup, lorsque j’ai essayé de reconstruire mon application, il a déclaré que le type d’espace de noms IAppbuilder était introuvable.

Voici ma classe de démarrage

 using Microsoft.Owin; using Owin; using WhiteBoardApp; namespace WhiteBoardApp { public class Startup { public void Configuration(IAppBuilder app) { app.MapSignalR(); } } } 

J’ai installé le paquet Owin aussi, et pour certaines raisons, je ne pouvais pas trouver la classe Owin Startup, alors j’ai juste ajouté une classe normale et inclus toutes les références nécessaires. Puis-je savoir où je me trompe

Essayez d’utiliser Package Manage Console et faites

 Update-Package Owin -Reinstall 

J’avais un problème similaire. Mais au lieu de cela, Owin, le problème causait Microsoft.Owin, évidemment

 Update-Package Owin -Reinstall 

Update-Package Owin n’a pas fonctionné, pas plus que Update-Package Owin

MAIS

 Install-Package Microsoft.Owin 

a bien fonctionné pour moi, merci.

L’interface IAppBuilder se trouve sous le package Owin. Ajoutez simplement une référence dans votre fichier de classe:

en utilisant Owin;

Et reconstruire. Votre projet le reprendra.

Je n’ai aucune idée de la raison pour laquelle VS ne l’a pas choisi, mais ce n’est pas le cas. Une fois que j’ai ajouté cette référence à mon projet, tout est tombé en place.

J’ai rencontré le même problème lors de la construction de mon projet. Voici les étapes qui ont aidé à résoudre mon problème:

  1. Accédez à l’ Solution Explorer et recherchez votre projet.
  2. Sous votre projet, développez les References ; Vous devriez voir des avertissements sur la référence problématique
  3. Faites un clic droit sur References et ouvrez Manage NuGet Packages
  4. Recherchez le nom de la référence problématique, par exemple Microsoft.Owin ; Après le chargement, il montre qu’il est déjà installé (il l’est, mais il n’est pas installé correctement. La vérification des propriétés> version à l’étape 2 indique 0.0.0.0 )
  5. Vérifier Force uninstall, even if there are dependencies on it
  6. Désinstaller
  7. Installer
  8. Construire et exécuter le projet

Problèmes

Impossible d’installer Microsoft.Web.Infrastructure car il existe déjà dans le dossier packages. Reculer…

  1. Accédez au dossier de votre projet et recherchez les packages
  2. Trouvez le paquet problématique, par exemple Microsoft.Web.Infrastructure
  3. Supprimer le dossier
  4. Reprendre à partir de l’étape 7

Des alternatives

Voici les alternatives que j’ai lues pour résoudre ce type de problème.

  • Nettoyer et reconstruire le projet / la solution
  • Redémarrez Visual Studio
  • Redémarrer le PC

Bonne chance.

Mon Visual Studio 2013 pour une raison quelconque ne s’est pas rendu compte que les chemins de références existaient. Le point d’exclamation jaune devant les références était affiché pour tous les paquets ajoutés. J’ai vérifié ../packages/ mais tous les fichiers existaient, j’ai également ouvert le fichier .csproj qui faisait référence aux chemins corrects.

La fermeture et l’ouverture de la solution ont renvoyé pas mal d’erreurs et n’ont pas pu charger les projets inclus dans la solution.

Redémarrer Visual Studio 2013 a sauvé la journée pour une raison inexpliquée.

Mon équivalent suivant en utilisant F # présente un problème de masquage de IAppBuilder. Il s’avère que la stipulation Owin était interprétée comme une référence System.Web.Http.Owin incomplète, même si le fichier Owin.dll fournissant l’espace de noms Owin était référencé.

 open System.Net.Http open System.Web.Http open Microsoft.Owin open Owin 

Le problème a été résolu en réorganisant les utilisations comme suit:

 open Microsoft.Owin open Owin open System.Net.Http open System.Web.Http 

… accordé, ceci peut être un bug particulier au compilateur F # et les conflits de noms sont mieux gérés en C # et ailleurs.

http://www.asp.net/signalr/overview/getting-started/tutorial-getting-started-with-signalr

Vérifiez le studio visuel que vous utilisez Vous pouvez trouver le commentaire suivant

Remarque: Si vous utilisez Visual Studio 2012, le modèle SignalR Hub Class (v2) ne sera pas disponible. Vous pouvez append une classe simple appelée ChatHub à la place.

Remarque: Si vous utilisez Visual Studio 2012, le modèle de classe de démarrage OWIN ne sera pas disponible. Vous pouvez append une classe simple appelée Startup à la place.