Obtenir la dernière version de Ninject avec le dernier MVC 5 / Web Api 2?
Je sais qu'il y a plusieurs questions un peu comme celle-ci, mais comme je suis incapable de retrouver toute la documentation et toutes les autres questions ont des réponses qui m'aident, va ici:
- Je créer un nouveau ASP.NET application (VS2013), MVC est sélectionné, j'ai ajouter de l'API. Je exécuter "update-package" dans le Package de la Console pour obtenir des mises à jour pour les dernières versions (MVC 5.1.2, Web Api 5.1.2).
Puis-je ajouter de la nouvelle Ninject.MVC5 et Ninject.Web.WebApi paquets.
Je ajouter ces lignes dans le web.fichier de configuration (Ninject veut la version 5.0, j'ai 5.1):
<dependentAssembly>
<assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-5.1.0.0" newVersion="5.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Http.WebHost" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-5.1.0.0" newVersion="5.1.0.0" />
</dependentAssembly>
Dans le App_start/NinjectWebCommon.cs fichier que j'ai ajouter une liaison unique:
private static void RegisterServices(IKernel kernel) {
kernel.Bind<ILogger, NLogLogger>();
}
Puis-je ajouter un seul ApiController, avec ILogger comme le seul paramètre dans le constructeur, et j'ajoute ILogger comme un paramètre du constructeur du contrôleur HomeController.
Qui devrait être pour le tester?
Me manque des câbles pour WebApi ? Ou cela se fait-il "derrière les coulisses"?
De toute façon, acessing l'api contrôleur me donne cette erreur:
Une erreur s'est produite lors de la tentative de créer un contrôleur de type 'TestController'. Assurez-vous que le contrôleur a un sans paramètre constructeur public.
Et d'essayer le contrôleur HomeController me donne ceci:
Objet de référence non définie à une instance d'un objet.
J'ai essayé la même chose, sans la mise à jour de paquets les plus récents, même problème. J'ai été en utilisant Ninject pendant des années avec MVC 3 (j'ai aussi essayé le Ninject.MVC3 paquet), et je suis totalement désemparés quant à pourquoi cela ne fonctionne pas. Avec WebApi, j'étais attendu à un appel à SetResolver, mais..
Toute aide serait appriciated!
source d'informationauteur Steen Tøttrup | 2014-04-29
Vous devez vous connecter pour publier un commentaire.
Ce n'est pas un MVC/WebApi question
votre configuration est mauvaise:
devrait être
Comme mentionné par l' la documentation Ninject.Web.WebApi n'est pas autonome de package Nuget.
Choisir le bon Ninject.Web.WebApi.* package de votre application. Très probablement, il sera par Ninject.Web.WebApi.Hébergeur dans votre cas.
Pour l'utilisation de Ninject dans un projet avec
MVC
etWebApi
vous devez installer les paquets suivants:Ces paquets ajouter les fichiers suivants à
App_Start
dossier:NinjectWeb.cs:
NinjectWebCommon.cs: