У меня есть эта часть кода:
var _containerBuilder = new ContainerBuilder();
_containerBuilder.RegisterType<NavigationService>().As<INavigationService>();
var container = _containerBuilder.Build();
using (var scope = container.BeginLifetimeScope())
{
var navigationService = scope.Resolve<INavigationService>();
}
Это приводит к исключению времени выполнения, когда я делаю решение:
Autofac.Core.DependencyResolutionException: произошла ошибкаво время активации определенной регистрации.Смотрите внутреннее исключение для деталей.Регистрация: Activator = NavigationService (ReflectionActivator), Services = [MyProject.Services.Navigation.INavigationService], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = Нет, Ownership = OwnedByLifetimeScope ---> Не найдено доступных конструкторов для типа'MyProject.Services.Navigation.NavigationService.(Подробности см. Во внутреннем исключении.)
Мой интерфейс пуст, как и мой класс, имеющий конструктор без параметров.Мой проект - это проект Xamarin.Forms, использующий стандарт .Net 2.0, а моя версия autofac является последней стабильной (4.8.1).
Я не в курсе, так как все примеры проектов, кажется, не очень многоподробнее.
Как я уже сказал, я опустошил класс и интерфейс, чтобы посмотреть, возникла ли проблема, но у меня все еще есть исключение.
public interface INavigationService { }
public class NavigationService:INavigationService
{
public NavigationService()
{
}
}