diff --git a/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/Tree/Dependencies/Subscriptions/MSBuildDependencies/AnalyzerDependencyFactory.cs b/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/Tree/Dependencies/Subscriptions/MSBuildDependencies/AnalyzerDependencyFactory.cs index 19db511df0b..efad99b2255 100644 --- a/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/Tree/Dependencies/Subscriptions/MSBuildDependencies/AnalyzerDependencyFactory.cs +++ b/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/Tree/Dependencies/Subscriptions/MSBuildDependencies/AnalyzerDependencyFactory.cs @@ -3,7 +3,8 @@ namespace Microsoft.VisualStudio.ProjectSystem.Tree.Dependencies.Subscriptions.MSBuildDependencies; [Export(typeof(IMSBuildDependencyFactory))] -[AppliesTo(ProjectCapability.DependenciesTree)] +// There's no "AnalyzerReferences" capability, and F# doesn't have analyzers +[AppliesTo(ProjectCapability.DependenciesTree + " & (" + ProjectCapability.CSharp + " | " + ProjectCapability.VisualBasic + ")")] internal sealed class AnalyzerDependencyFactory : MSBuildDependencyFactoryBase { // NOTE we include ProjectTreeFlags.FileSystemEntity here so that Roslyn can correctly identify the diff --git a/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/Tree/Dependencies/Subscriptions/MSBuildDependencies/AssemblyDependencyFactory.cs b/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/Tree/Dependencies/Subscriptions/MSBuildDependencies/AssemblyDependencyFactory.cs index e4325058c91..5075118c09c 100644 --- a/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/Tree/Dependencies/Subscriptions/MSBuildDependencies/AssemblyDependencyFactory.cs +++ b/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/Tree/Dependencies/Subscriptions/MSBuildDependencies/AssemblyDependencyFactory.cs @@ -6,7 +6,7 @@ namespace Microsoft.VisualStudio.ProjectSystem.Tree.Dependencies.Subscriptions.MSBuildDependencies; [Export(typeof(IMSBuildDependencyFactory))] -[AppliesTo(ProjectCapability.DependenciesTree)] +[AppliesTo(ProjectCapability.DependenciesTree + " & (" + ProjectCapabilities.AssemblyReferences + " | " + ProjectCapabilities.WinRTReferences + ")")] internal sealed class AssemblyDependencyFactory : MSBuildDependencyFactoryBase { private static readonly DependencyFlagCache s_flagCache = new( diff --git a/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/Tree/Dependencies/Subscriptions/MSBuildDependencies/ComDependencyFactory.cs b/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/Tree/Dependencies/Subscriptions/MSBuildDependencies/ComDependencyFactory.cs index 24280a27237..527d9ba0841 100644 --- a/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/Tree/Dependencies/Subscriptions/MSBuildDependencies/ComDependencyFactory.cs +++ b/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/Tree/Dependencies/Subscriptions/MSBuildDependencies/ComDependencyFactory.cs @@ -3,7 +3,7 @@ namespace Microsoft.VisualStudio.ProjectSystem.Tree.Dependencies.Subscriptions.MSBuildDependencies; [Export(typeof(IMSBuildDependencyFactory))] -[AppliesTo(ProjectCapability.DependenciesTree)] +[AppliesTo(ProjectCapability.DependenciesTree + " & " + ProjectCapabilities.ComReferences)] internal sealed class ComDependencyFactory : MSBuildDependencyFactoryBase { private static readonly DependencyFlagCache s_flagCache = new( diff --git a/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/Tree/Dependencies/Subscriptions/MSBuildDependencies/FrameworkDependencyFactory.cs b/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/Tree/Dependencies/Subscriptions/MSBuildDependencies/FrameworkDependencyFactory.cs index 05a448ec820..af36a231150 100644 --- a/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/Tree/Dependencies/Subscriptions/MSBuildDependencies/FrameworkDependencyFactory.cs +++ b/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/Tree/Dependencies/Subscriptions/MSBuildDependencies/FrameworkDependencyFactory.cs @@ -3,7 +3,7 @@ namespace Microsoft.VisualStudio.ProjectSystem.Tree.Dependencies.Subscriptions.MSBuildDependencies; [Export(typeof(IMSBuildDependencyFactory))] -[AppliesTo(ProjectCapability.DependenciesTree)] +[AppliesTo(ProjectCapability.DependenciesTree + " & " + ProjectCapability.DotNet)] // There's no "FrameworkReferences" capability internal sealed class FrameworkDependencyFactory : MSBuildDependencyFactoryBase { // Framework references were introduced in .NET Core 2.0 diff --git a/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/Tree/Dependencies/Subscriptions/MSBuildDependencies/PackageDependencyFactory.cs b/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/Tree/Dependencies/Subscriptions/MSBuildDependencies/PackageDependencyFactory.cs index 57bd3bc13f7..9b54b10d1b6 100644 --- a/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/Tree/Dependencies/Subscriptions/MSBuildDependencies/PackageDependencyFactory.cs +++ b/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/Tree/Dependencies/Subscriptions/MSBuildDependencies/PackageDependencyFactory.cs @@ -5,7 +5,7 @@ namespace Microsoft.VisualStudio.ProjectSystem.Tree.Dependencies.Subscriptions.MSBuildDependencies { [Export(typeof(IMSBuildDependencyFactory))] - [AppliesTo(ProjectCapability.DependenciesTree)] + [AppliesTo(ProjectCapability.DependenciesTree + " & " + ProjectCapabilities.PackageReferences)] internal sealed class PackageDependencyFactory : MSBuildDependencyFactoryBase { private static readonly DependencyFlagCache s_flagCache = new( diff --git a/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/Tree/Dependencies/Subscriptions/MSBuildDependencies/ProjectDependencyFactory.cs b/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/Tree/Dependencies/Subscriptions/MSBuildDependencies/ProjectDependencyFactory.cs index 5ccb84c9cd1..94b15b76212 100644 --- a/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/Tree/Dependencies/Subscriptions/MSBuildDependencies/ProjectDependencyFactory.cs +++ b/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/Tree/Dependencies/Subscriptions/MSBuildDependencies/ProjectDependencyFactory.cs @@ -5,7 +5,7 @@ namespace Microsoft.VisualStudio.ProjectSystem.Tree.Dependencies.Subscriptions.M // TODO also filter AppliesTo to ProjectCapabilities.ProjectReferences? same for other dependency types [Export(typeof(IMSBuildDependencyFactory))] -[AppliesTo(ProjectCapability.DependenciesTree)] +[AppliesTo(ProjectCapability.DependenciesTree + " & " + ProjectCapabilities.ProjectReferences)] internal sealed class ProjectDependencyFactory : MSBuildDependencyFactoryBase { private static readonly DependencyFlagCache s_flagCache = new( diff --git a/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/Tree/Dependencies/Subscriptions/MSBuildDependencies/SdkDependencyFactory.cs b/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/Tree/Dependencies/Subscriptions/MSBuildDependencies/SdkDependencyFactory.cs index b306d343e04..9f0fc13f904 100644 --- a/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/Tree/Dependencies/Subscriptions/MSBuildDependencies/SdkDependencyFactory.cs +++ b/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/Tree/Dependencies/Subscriptions/MSBuildDependencies/SdkDependencyFactory.cs @@ -6,7 +6,7 @@ namespace Microsoft.VisualStudio.ProjectSystem.Tree.Dependencies.Subscriptions.MSBuildDependencies; [Export(typeof(IMSBuildDependencyFactory))] -[AppliesTo(ProjectCapability.DependenciesTree)] +[AppliesTo(ProjectCapability.DependenciesTree + " & " + ProjectCapabilities.SdkReferences)] internal class SdkDependencyFactory : MSBuildDependencyFactoryBase { private static readonly DependencyFlagCache s_flagCache = new( diff --git a/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/Tree/Dependencies/Subscriptions/SharedProjectDependencySubscriber.cs b/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/Tree/Dependencies/Subscriptions/SharedProjectDependencySubscriber.cs index 98de738abd8..722e130efaf 100644 --- a/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/Tree/Dependencies/Subscriptions/SharedProjectDependencySubscriber.cs +++ b/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/Tree/Dependencies/Subscriptions/SharedProjectDependencySubscriber.cs @@ -16,7 +16,7 @@ namespace Microsoft.VisualStudio.ProjectSystem.Tree.Dependencies.Subscriptions; /// for slices upon request. /// [Export(typeof(IDependencySliceSubscriber))] -[AppliesTo(ProjectCapability.DependenciesTree)] +[AppliesTo(ProjectCapability.DependenciesTree + " & " + ProjectCapabilities.SharedProjectReferences)] internal sealed class SharedProjectDependencySubscriber : IDependencySliceSubscriber { private readonly UnconfiguredProject _unconfiguredProject;