Извлечение всего исходного кода из проекта Visual studio Express 2010 в один файл?

#c# #visual-studio-2010

#c# #visual-studio-2010

Вопрос:

Как извлечь весь исходный код из одного проекта c # в один файл? Предпочтительно не путем копирования-вставки?

Комментарии:

1. Включен созданный дизайнером код? существует много скрытого кода, вам это нужно?

2. проект zip-папки? чего вы хотите достичь?

3. Я хочу записать алгоритм, чтобы позже иметь возможность претендовать на авторские права.

Ответ №1:

очень простой подход с командной строкой

 for %f in (*.cs) do type %f >> result.txt
  

Редактировать:

С рекурсией и информацией о файле

 for /R %f in (*.cs) do echo ----- %f ----- >> result.txt amp; type %f >> result.txt
  

Комментарии:

1. Обрабатывает ли это рекурсию каталога?

2. Да — это синтаксис командной строки Windows

Ответ №2:

Просто передайте путь к каталогу решения из командной строки.

 class Program
{
    static StringBuilder builder = new StringBuilder();

    static void Main(string[] args)
    {
        if (args.Length == 0)
            return;

        string directory = args[0];

        ProcessDirectories(directory);

        // Save file here
    }

    static void ProcessDirectories(string root)
    {
        ProcessDirectory(new DirectoryInfo(root));

        var subDirectories = Directory.GetDirectories(root);

        if (subDirectories.Length == 0)
            return;

        foreach (var subDirectory in subDirectories)
        {
            ProcessDirectories(subDirectory);
        }
    }

    static void ProcessDirectory(DirectoryInfo directory)
    {
        foreach (var file in directory.EnumerateFiles())
        {
            builder.AppendFormat("----- {0} -----", file.FullName);

            using (var reader = file.OpenText())
            {
                builder.AppendLine(reader.ReadToEnd());
            }
        }
    }
}
  

Надеюсь, это поможет!