in src/dotnet/Rider.Plugins.EfCore/Tracking/SolutionTracker.cs [46:90]
public void Setup()
{
_dotnetToolsTracker.DotNetToolCache.Change.Advise(_lifetime, args =>
{
if (!args.HasNew || args.New is null) return;
using var _ = _lock.UsingWriteLock();
var cache = args.New;
_logger.LogFlow($"{nameof(SolutionDotnetToolsTracker)}.DotNetToolCache.Change",
$"Calling {nameof(OnAfterToolsCacheUpdate)}");
OnAfterToolsCacheUpdate?.Invoke(cache);
});
_nugetListener.ProjectsUpdated += () =>
{
_logger.LogFlow($"{nameof(NugetDependenciesListener)}.ProjectsUpdated",
$"Calling {nameof(OnAfterNuGetUpdate)}");
OnAfterNuGetUpdate?.Invoke();
};
_solutionLoadScheduler.EnqueueTask(
new SolutionLoadTask(
GetType(),
SolutionLoadTaskKinds.AfterDone,
() =>
{
_logger.LogFlow($"{nameof(ISolutionLoadTasksScheduler)}.AfterDone",
$"Calling {nameof(OnAfterSolutionLoad)}");
OnAfterSolutionLoad?.Invoke();
_solutionListener.SolutionChanged += () =>
{
_logger.LogFlow($"{nameof(SolutionStructureChangedListener)}.SolutionChanged",
$"Calling {nameof(OnAfterSolutionUpdate)}");
OnAfterSolutionUpdate?.Invoke();
};
}
)
);
}