Ich versuche, den HttpSelfHostServer zu verwenden, um eine ASP.NET MVC 4-WebAPI selbst zu hosten. Alles ist gut util Ich versuche, einen benutzerdefinierten Abhängigkeits-Resolver hinzuzufügen. (Letztendlich wird dies StructureMap verwenden, aber ich habe diesen Punkt noch nicht erreicht). Wenn ich versuche, einen benutzerdefinierten Resolver zu instanziieren, erhalte ich beim Start des Servers die folgende Ausnahme:
TypeLoadException: Vererbungssicherheitsregeln, die nach Typ verletzt werden: 'System.Web.Mvc.CompareAttribute'. Abgeleitete Typen müssen entweder übereinstimmen Sicherheitszugänglichkeit des Basistyps oder weniger zugänglich sein.
Der Code lautet wie folgt:
%Vor%Beachten Sie, dass ich mit dem Resolver nichts zu tun habe - es ist einfach, und der Akt des Instanziierens löst den Fehler später aus.
Seltsamerweise passiert diese Ausnahme nur im Debug (F5) - wenn ich mit Strg + F5 laufe, funktioniert alles gut.
Haben Sie irgendwelche Gedanken, wie Sie dieses Problem lösen können?
Stapelverfolgung:
%Vor%Endlich die Antwort gefunden; damit beantworte ich meine eigene Frage.
Es gibt zwei IDependencyResolver
: eins in System.Web.Http.Services
und eins in System.Web.Mvc
.
Sowohl Kompilieren als auch Ausführen in Nicht-Debug.
System.Web.Http.Services.IDependencyResolver
ist die richtige .
System.Web.Mvc.IDependencyResolver
scheint Probleme zu verursachen.
Tags und Links asp.net-mvc asp.net-web-api