diff --git a/src/Scrutor/TypeSourceSelector.cs b/src/Scrutor/TypeSourceSelector.cs index e3f836bd..e50415ec 100644 --- a/src/Scrutor/TypeSourceSelector.cs +++ b/src/Scrutor/TypeSourceSelector.cs @@ -20,11 +20,46 @@ public IImplementationTypeSelector FromAssemblyOf() return InternalFromAssembliesOf(new[] { typeof(T) }); } + /// + /// Uses the assembly that called Scrutor. + /// + /// + /// + /// Returned might not be the one expected do to (lack of) inlining. + /// To ensure proper assembly is resolved, use: + /// + /// services.Scan(s => s.FromAssemblies(Assembly.GetExecutingAssembly()) + /// + /// or + /// + /// var assembly = Assembly.GetCallingAssembly(); + /// services.Scan(s => s.FromAssemblies(assembly)); + /// + /// + /// + [Obsolete("Misleading, as it might not always determine the correct assembly that called Scrutor. Will be removed in a future release")] public IImplementationTypeSelector FromCallingAssembly() { return FromAssemblies(Assembly.GetCallingAssembly()); } - + + /// + /// Always uses the Scrutor assembly. + /// + /// + /// + /// To ensure proper assembly is resolved, use: + /// + /// services.Scan(s => s.FromAssemblies(Assembly.GetExecutingAssembly()) + /// + /// or + /// + /// var assembly = Assembly.GetCallingAssembly(); + /// services.Scan(s => s.FromAssemblies(assembly)); + /// + /// + /// + [Obsolete("Misleading, as it always uses Scrutor's assembly. Will be removed in a future release")] public IImplementationTypeSelector FromExecutingAssembly() { return FromAssemblies(Assembly.GetExecutingAssembly());