15 types derived from SdkResolver
Microsoft.Build (1)
BackEnd\Components\SdkResolution\DefaultSdkResolver.cs (1)
25internal class DefaultSdkResolver : SdkResolverBase
Microsoft.Build.Engine.UnitTests (14)
BackEnd\SdkResolverLoader_Tests.cs (3)
399private sealed class MockSdkResolverThatDoesNotLoad : SdkResolverBase 418private sealed class MockSdkResolverNoPublicConstructor : SdkResolverBase 434private sealed class MockSdkResolverWithAssemblyPath : SdkResolverBase
BackEnd\SdkResolverService_Tests.cs (8)
869private sealed class MockResolverReturnsNull : SdkResolver 878private sealed class MockSdkResolver1 : SdkResolver 897private sealed class MockSdkResolver2 : SdkResolver 916private sealed class MockSdkResolverWithResolvableSdkPattern1 : SdkResolver 935private sealed class MockSdkResolverWithResolvableSdkPattern2 : SdkResolver 954private sealed class MockSdkResolverWithState : SdkResolver 979private sealed class MockSdkResolverThrows : SdkResolver 992private sealed class MockSdkResolverDefault : SdkResolver
Evaluation\ProjectSdkImplicitImport_Tests.cs (1)
785private sealed class MockExpandedSdkResolver : SdkResolver
InternalEngineHelpers.cs (2)
39internal sealed class ConfigurableMockSdkResolver : SdkResolver 131internal sealed class FileBasedMockSdkResolver : SdkResolver
83 references to SdkResolver
Microsoft.Build (40)
BackEnd\Components\SdkResolution\CachingSdkResolverLoader.cs (6)
20private readonly IReadOnlyList<SdkResolver> _defaultResolvers; 25private readonly ConcurrentDictionary<SdkResolverManifest, IReadOnlyList<SdkResolver>> _resolversByManifest = new(); 30private IReadOnlyList<SdkResolver>? _allResolvers; 72internal override IReadOnlyList<SdkResolver> GetDefaultResolvers() => _defaultResolvers; 75internal override IReadOnlyList<SdkResolver> LoadAllResolvers(ElementLocation location) 93protected internal override IReadOnlyList<SdkResolver> LoadResolversFromManifest(SdkResolverManifest manifest, ElementLocation location)
BackEnd\Components\SdkResolution\DefaultSdkResolver.cs (1)
7using SdkResolverBase = Microsoft.Build.Framework.SdkResolver;
BackEnd\Components\SdkResolution\MainNodeSdkResolverService.cs (1)
42internal void InitializeForTests(SdkResolverLoader resolverLoader = null, IReadOnlyList<SdkResolver> resolvers = null)
BackEnd\Components\SdkResolution\SdkResolverException.cs (2)
18public SdkResolver Resolver { get; private set; } 22public SdkResolverException(string resourceName, SdkResolver resolver, SdkReference sdk, Exception innerException, params string[] args)
BackEnd\Components\SdkResolution\SdkResolverLoader.cs (11)
37internal virtual IReadOnlyList<SdkResolver> GetDefaultResolvers() 40new List<SdkResolver> { new DefaultSdkResolver() } 41: new List<SdkResolver>(); 45internal virtual IReadOnlyList<SdkResolver> LoadAllResolvers(ElementLocation location) 49new List<SdkResolver> { new DefaultSdkResolver() } 50: new List<SdkResolver>(); 227.Where(t => t.info.IsClass && t.info.IsPublic && !t.info.IsAbstract && typeof(SdkResolver).IsAssignableFrom(t.type)) 254protected internal virtual IReadOnlyList<SdkResolver> LoadResolversFromManifest(SdkResolverManifest manifest, ElementLocation location) 257var resolvers = new List<SdkResolver>(); 269protected virtual void LoadResolvers(string resolverPath, ElementLocation location, List<SdkResolver> resolvers) 287resolvers.Add((SdkResolver)Activator.CreateInstance(type));
BackEnd\Components\SdkResolution\SdkResolverService.cs (19)
41private readonly ConcurrentDictionary<int, ConcurrentDictionary<SdkResolver, object>> _resolverStateBySubmission = new ConcurrentDictionary<int, ConcurrentDictionary<SdkResolver, object>>(); 46private Dictionary<SdkResolverManifest, IReadOnlyList<SdkResolver>> _manifestToResolvers; 195List<SdkResolver> resolvers; 271private List<SdkResolver> GetResolvers(IReadOnlyList<SdkResolverManifest> resolversManifests, LoggingContext loggingContext, ElementLocation sdkReferenceLocation) 274List<SdkResolver> resolvers = new List<SdkResolver>(); 277IReadOnlyList<SdkResolver> newResolvers; 296IReadOnlyList<SdkResolver> resolvers, 316foreach (SdkResolver sdkResolver in resolvers) 409internal virtual void InitializeForTests(SdkResolverLoader resolverLoader = null, IReadOnlyList<SdkResolver> resolvers = null) 428_manifestToResolvers = new Dictionary<SdkResolverManifest, IReadOnlyList<SdkResolver>>(); 455private object GetResolverState(int submissionId, SdkResolver resolver) 460ConcurrentDictionary<SdkResolver, object> resolverState; 486_manifestToResolvers = new Dictionary<SdkResolverManifest, IReadOnlyList<SdkResolver>>(); 494IReadOnlyList<SdkResolver> defaultResolvers = _sdkResolverLoader.GetDefaultResolvers(); 536private void SetResolverState(int submissionId, SdkResolver resolver, object state) 541ConcurrentDictionary<SdkResolver, object> resolverState = _resolverStateBySubmission.GetOrAdd( 543_ => new ConcurrentDictionary<SdkResolver, object>(
Microsoft.Build.Engine.UnitTests (36)
BackEnd\SdkResolverLoader_Tests.cs (4)
20using SdkResolverBase = Microsoft.Build.Framework.SdkResolver; 348IReadOnlyList<SdkResolverBase> resolvers = loader.LoadAllResolvers(new MockElementLocation("file")); 461public Action<string, ElementLocation, List<SdkResolver>> LoadResolversAction { get; set; } 493protected override void LoadResolvers(string resolverPath, ElementLocation location, List<SdkResolver> resolvers)
BackEnd\SdkResolverService_Tests.cs (24)
113new List<SdkResolver> 387new List<SdkResolver> 472service.InitializeForTests(null, new List<SdkResolver>() { resolver }); 509service.InitializeForTests(null, new List<SdkResolver>() { resolver }); 556service.InitializeForTests(null, new List<SdkResolver>() { resolver }); 602service.InitializeForTests(null, new List<SdkResolver>() { resolver }); 642new List<SdkResolver> 670resolvers: new List<SdkResolver> 702resolvers: new List<SdkResolver> 744internal override void InitializeForTests(SdkResolverLoader resolverLoader = null, IReadOnlyList<SdkResolver> resolvers = null) 766private List<SdkResolver> _resolvers; 767private List<SdkResolver> _defaultResolvers; 768private List<(string ResolvableSdkPattern, SdkResolver Resolver)> _resolversWithPatterns; 777_resolvers = new List<SdkResolver> { new MockSdkResolver1() }; 800_resolvers = new List<SdkResolver> 808_defaultResolvers = new List<SdkResolver>(); 810_resolversWithPatterns = new List<(string ResolvableSdkPattern, SdkResolver Resolver)>(); 813internal override IReadOnlyList<SdkResolver> LoadAllResolvers(ElementLocation location) 825foreach (SdkResolver resolver in _resolvers) 830foreach ((string ResolvableSdkPattern, SdkResolver Resolver) pair in _resolversWithPatterns) 841protected internal override IReadOnlyList<SdkResolver> LoadResolversFromManifest(SdkResolverManifest manifest, ElementLocation location) 845var resolvers = new List<SdkResolver>(); 846foreach (var resolver in _resolvers) 863internal override IReadOnlyList<SdkResolver> GetDefaultResolvers()
BackEnd\SdkResultOutOfProc_Tests.cs (4)
200var sdkResolver = SetupSdkResolver(Path.GetDirectoryName(projectPath)); 214private SdkResolver SetupSdkResolver(string projectFolder) 257sdkService.InitializeForTests(null, new List<SdkResolver> { sdkResolver }); 263resolverService.InitializeForTests(null, new List<SdkResolver> { sdkResolver });
Definition\ProjectEvaluationContext_Tests.cs (2)
50private static void SetResolverForContext(EvaluationContext context, SdkResolver resolver) 54sdkService.InitializeForTests(null, new List<SdkResolver> { resolver });
InternalEngineHelpers.cs (2)
27public static ProjectOptions CreateProjectOptionsWithResolver(SdkResolver resolver) 31sdkService.InitializeForTests(null, new List<SdkResolver>() { resolver });
Microsoft.Build.Framework (7)
Sdk\SdkResolver.cs (1)
14/// Gets the name of the <see cref="SdkResolver"/> to be displayed in build output log.
Sdk\SdkResolverContext.cs (1)
11/// Context used by an <see cref="SdkResolver" /> to resolve an SDK.
Sdk\SdkResultFactory.cs (5)
12/// An abstract interface class provided to <see cref="SdkResolver" /> to create an 18/// Create an <see cref="SdkResolver" /> object indicating success resolving the SDK. 27/// Create an <see cref="SdkResolver" /> object indicating success resolving the SDK. 45/// Create an <see cref="SdkResolver" /> object indicating success. 69/// Create an <see cref="SdkResolver" /> object indicating failure resolving the SDK.