Skip to content

Commit cce4f90

Browse files
author
Sergey Komisarchik
committed
Reduce auto discovery graph:
- check only packages that has direct references to Serilog core assembly to avoid native assets - add Serilog core assembly to default search assembly configuration list
1 parent cc45629 commit cce4f90

File tree

3 files changed

+9
-2
lines changed

3 files changed

+9
-2
lines changed

src/Serilog.Settings.Configuration/Serilog.Settings.Configuration.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<PackageId>Serilog.Settings.Configuration</PackageId>
1616
<PackageTags>serilog;json</PackageTags>
1717
<PackageIcon>icon.png</PackageIcon>
18-
<PackageProjectUrl>https://serilog.net/</PackageProjectUrl>
18+
<PackageProjectUrl>https://github.com/serilog/serilog-settings-configuration/</PackageProjectUrl>
1919
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
2020
<RootNamespace>Serilog</RootNamespace>
2121
<PublishRepositoryUrl>true</PublishRepositoryUrl>

src/Serilog.Settings.Configuration/Settings/Configuration/Assemblies/DependencyContextAssemblyFinder.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,17 @@ public DependencyContextAssemblyFinder(DependencyContext dependencyContext)
1818
public override IReadOnlyList<AssemblyName> FindAssembliesContainingName(string nameToFind)
1919
{
2020
var query = from library in _dependencyContext.RuntimeLibraries
21+
where IsReferencingSerilog(library)
2122
from assemblyName in library.GetDefaultAssemblyNames(_dependencyContext)
2223
where IsCaseInsensitiveMatch(assemblyName.Name, nameToFind)
2324
select assemblyName;
2425

2526
return query.ToList().AsReadOnly();
27+
28+
static bool IsReferencingSerilog(Library library)
29+
{
30+
return library.Dependencies.Any(dependency => dependency.Name.ToLowerInvariant() == "serilog");
31+
}
2632
}
2733
}
2834
}

src/Serilog.Settings.Configuration/Settings/Configuration/ConfigurationReader.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,8 @@ internal static IConfigurationArgumentValue GetArgumentValue(IConfigurationSecti
264264

265265
static IReadOnlyCollection<Assembly> LoadConfigurationAssemblies(IConfigurationSection section, AssemblyFinder assemblyFinder)
266266
{
267-
var assemblies = new Dictionary<string, Assembly>();
267+
var serilogAssembly = typeof(ILogger).Assembly;
268+
var assemblies = new Dictionary<string, Assembly> { [serilogAssembly.FullName] = serilogAssembly };
268269

269270
var usingSection = section.GetSection("Using");
270271
if (usingSection.GetChildren().Any())

0 commit comments

Comments
 (0)