Ejemplo n.º 1
0
        private static ReadProjectResult TryReadProject(
            string path,
            out CsProjFileReader reader)
        {
            reader = null;
            try
            {
                Status.Start($"Read project: {path}");
                reader = new CsProjFileReader(path);
                Status.Ok();
                return(ReadProjectResult.Success);
            }
            catch (UnsupportedProjectException unsupported)
            {
                if (unsupported.IsValidModernCsProj)
                {
                    Status.Ok();
                    return(ReadProjectResult.ModernProject);
                }

                Status.Fail();
                return(ReadProjectResult.Error);
            }
            catch
            {
                Status.Fail();
                return(ReadProjectResult.Error);
            }
        }
Ejemplo n.º 2
0
        private static void RemoveProjectMatches(
            bool pretend,
            bool verbose,
            CsProjFileReader reader,
            List <string> args)
        {
            var exactMatches    = FindExactMatchesIn(args);
            var partialMatches  = FindPartialMatchesIn(args);
            var types           = new[] { "Content", "Compile", "None" };
            var anythingRemoved = false;

            types.ForEach(type =>
            {
                reader.RemoveFilesOfType(
                    type,
                    fileName =>
                {
                    StartInspect(verbose, $" INSPECT ({type}) file: {fileName}");
                    var result = IsMatched(fileName, partialMatches, exactMatches);
                    EndInspect(verbose, result);
                    anythingRemoved = anythingRemoved || result;
                    return(result);
                },
                    fileName =>
                {
                    Status.Clear();
                    if (!verbose)
                    {
                        Status.Clear();
                        Console.WriteLine($"\rRemove ({type}) project file: {fileName}");
                    }

                    return(!pretend);
                });
            });

            if (anythingRemoved)
            {
                reader.Persist();
            }

            Status.Clear();
        }