7
votes

Impossible de créer une instance d'une interface

Après l'installation du profil 1.1, ajoutez au moins un champ sur les types de contenu de l'utilisateur, puis accédez au module Utilisateurs et cliquez sur Ajouter un nouvel utilisateur, cliquez sur Enregistrer et vous devez obtenir cette erreur. Toute aide serait appréciée.

Erreur de serveur dans l'application '/ Orchardlocal'.

Impossible de créer une instance d'interface. Description: Une exception non gérée s'est produite lors de l'exécution de la demande Web actuelle. Veuillez consulter la trace de la pile pour plus d'informations sur l'erreur et où elle est originaire du code. xxx

184


Informations de la version: Microsoft .NET Framework Version: 4.0.30319; Version ASP.NET: 4.0.30319.237


3 commentaires

Avez-vous essayé de contacter l'auteur de ce module? Cela ressemble à un rapport de bogue, pas à une question.


Oui, je n'ai pas eu de type de soutien.


Ça craint. Eh bien, je suppose que votre seule option est de réparer leur code vous-même.


3 Réponses :


15
votes

WOW, courut dans exactement la même erreur aujourd'hui (mais je ne sais pas si c'était le même module)!

C'est un bug dans l'un des modèles de vue. Quelqu'un avait mis une interface au lieu de la classe une (par exemple, Iuer au lieu de UserParTrecord). Cris de modèle de modèle car il ne peut pas créer d'instance d'objet pour lier les paramètres de formulaire de formulaire à.

Votre seule option consiste à modifier le type de ce paramètre (lequel - vous devez le savoir) à un type de béton. Le moyen le plus rapide serait de créer une classe simple implémentant cette interface et de remplacer le type de paramètre avec elle.

edit: Un problème similaire a été discuté (et résolu) ici et ici .


1 commentaires

Il semble que une interface soit autorisée comme le type de la directive @model sous Vues, ​​mais cette erreur est soulevée si une interface est le type d'un paramètre dans les méthodes de contrôleur.



-1
votes

J'ai couru dans le même problème avec (MVC 5) + (Ninject3.2). La préparation entière est très typique et standard et ne peut tout simplement pas fonctionner. Enfin, je l'ai fait:

  1. Créez un CTOR par défaut sur votre contrôleur; LI>
  2. en CTOR, ajoutez une ligne comme celle-ci: p>

    repository=DependencyResolver.Current.GetService(typeof(IYourinterface)) as IYourinterface;
    


1 commentaires

Cela ne résout pas vraiment que le problème est discuté ici ... où l'élément tente d'être résolu dans la méthode, pas le constructeur



3
votes

J'ai commencé à obtenir cette exception dans une application MVC ASP.NET 4.6. Il m'a fallu un peu de temps, mais j'ai enfin compris que j'avais changé mon appel de l'API de contrôleur MVC de xxx

à xxx

J'évité L'énumération multiple d'un iénumérable que R # avertit. Leçon apprise: N'utilisez pas irréfluonlist dans ce cas.

Voici toute la exception: xxx


1 commentaires

Je suis entré moi aussi. Vous pouvez utiliser IList ou ICollection