Seit der Migration meines WebApi-Projekts von VS2013 auf VS2015 kann meine Abhängigkeitsinjektion nicht mehr funktionieren. Ich benutze StructureMap. Ich erhalte einen Fehler, der diese Ausnahmemeldung enthält: "Beim Versuch, einen Controller vom Typ 'SearchListController' zu erstellen, ist ein Fehler aufgetreten. Stellen Sie sicher, dass der Controller über einen parameterlosen öffentlichen Konstruktor verfügt." Das hat früher funktioniert. Kann mir jemand sagen, was ich falsch mache? Bitte vergib mir, wenn ich diese Frage nicht richtig geschrieben habe. Ich denke, das ist die erste Frage, die ich hier gepostet habe.Strukturkarte - Stellen Sie sicher, dass der Controller über einen parameterlosen öffentlichen Konstruktor verfügt.
namespace SearchWebAPI.DependencyResolution
{
using StructureMap;
public static class IoC
{
public static IContainer Initialize()
{
return new Container(c =>
{
c.AddRegistry<DefaultRegistry>();
});
}
}
}
namespace SearchWebAPI.DependencyResolution {
using StructureMap.Configuration.DSL;
using StructureMap.Graph;
using SearchWebAPI.Models;
public class DefaultRegistry : Registry {
#region Constructors and Destructors
public DefaultRegistry() {
Scan(
scan => {
scan.TheCallingAssembly();
scan.WithDefaultConventions();
scan.With(new ControllerConvention());
});
For<ISearchListRepository>().Use<SearchListRepository>();
}
#endregion
}
}
Haben Sie entweder ersetzen MVC 'DependencyResolver' oder' IControllerFactory'? Sie benötigen eine dieser Komponenten, um MVC an StructureMap weiterzuleiten. – Steven