Пример #1
0
        public static Task <ImmutableHashSet <string> > GetAllEvaluatedIncludes(ConfiguredProject configuredProject, IProjectAccessor accessor)
        {
            Requires.NotNull(configuredProject, nameof(configuredProject));
            Requires.NotNull(accessor, nameof(accessor));

            return(accessor.OpenProjectForReadAsync(configuredProject, project =>
                                                    project.AllEvaluatedItems.Select(x => x.EvaluatedInclude).ToImmutableHashSet(StringComparer.OrdinalIgnoreCase)));
        }
Пример #2
0
 public Task <ICollection <IEnumValue> > GetListedValuesAsync()
 {
     return(_projectAccessor.OpenProjectForReadAsync(_configuredProject, project =>
     {
         return (ICollection <IEnumValue>)project.GetItems(itemType: SupportedTargetFrameworkItemName)
         .Select(i => new PageEnumValue(new EnumValue {
             Name = i.EvaluatedInclude,
             DisplayName = i.GetMetadataValue(DisplayNameMetadataName)
         }))
         .ToArray <IEnumValue>();
     }));
 }
Пример #3
0
            public Task <ICollection <IEnumValue> > GetListedValuesAsync()
            {
                return(_projectAccessor.OpenProjectForReadAsync(_configuredProject, project =>
                {
                    string identifier = project.GetPropertyValue(ConfigurationGeneral.TargetFrameworkIdentifierProperty);

                    return (ICollection <IEnumValue>)project.GetItems(itemType: SupportedTargetFrameworkItemName)
                    .Where(i => CanRetargetTo(identifier, i.EvaluatedInclude))
                    .Select(i => new PageEnumValue(new EnumValue
                    {
                        Name = i.EvaluatedInclude,
                        DisplayName = i.GetMetadataValue(DisplayNameMetadataName)
                    }))
                    .ToArray <IEnumValue>();
                }));
            }
 /// <summary>
 /// Gets a collection of names of targets in this project.
 /// </summary>
 /// <returns>Collection of the names of targets in this project.</returns>
 private Task <ImmutableHashSet <string> > GetProjectTargetsAsync()
 {
     return(_projectAccessor.OpenProjectForReadAsync(_configuredProject, project =>
                                                     project.Targets.Keys.ToImmutableHashSet(StringComparers.TargetNames)));
 }