[BUG] Usage of Autofac as resolver never load assembly modules in UWP
ushenkodmitry opened this issue · 4 comments
Please note although we can't commit to any timeline, priority will be given to those who are Contributors to the project.
If this is a question please ask on StackOverflow.
Describe the bug
The code below doesn't load any of modules defined within executing assembly.
protected override void OnLaunched(LaunchActivatedEventArgs e)
{
var assembly = Assembly.GetExecutingAssembly();
var builder = new ContainerBuilder();
builder.RegisterAssemblyModules(assembly);
builder.UseAutofacDependencyResolver();
...
}
Seems like a regression as the same exactly code was working about a week ago.
Steps To Reproduce
- Create new UWP app
- Add the code above
- Define a module and add a breakpoint in the Load method
- Run
- See that breakpoint is not hitting
Expected behavior
Breakpoint hitting.
Environment(please complete the following information):
- OS: Windows 10
- Version [e.g. 22]
- Device: PC
Additional context
Splat.Autofac 9.5.49
Take a look here
https://github.com/reactiveui/splat/blob/main/src/Splat.Autofac/README.md
There's one or two extra steps
Makes things cross-platform. Contribute to reactiveui/splat development by creating an account on GitHub.
Thank you. But it didn't help. Here is my code:
var assembly = Assembly.GetExecutingAssembly();
var builder = new ContainerBuilder();
builder.RegisterType<MainViewModel>().AsSelf().As<IScreen>().SingleInstance();
builder.RegisterAssemblyModules(assembly);
var resolver = builder.UseAutofacDependencyResolver();
resolver.InitializeReactiveUI();
builder.RegisterInstance(resolver);
No module loaded, MainViewModel can not be resolved via Locator.Current.GetService(). The method returns null;
Fixed on my side, sorry
var assembly = Assembly.GetExecutingAssembly();
var builder = new ContainerBuilder();
builder.RegisterAssemblyModules(assembly);
var resolver = builder.UseAutofacDependencyResolver();
resolver.InitializeReactiveUI();
builder.RegisterInstance(resolver);
resolver.SetLifetimeScope(builder.Build());
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.