Visual Studio - Событие после сборки для объединения файлов .cs - PullRequest
2 голосов
/ 11 апреля 2010

Моя целевая среда принимает только файлы .cs и выполняет их во время выполнения.

В моем проекте есть файлы gui.cs и 4 других класса. Это около 9000 строк кода.

Есть ли способ объединить все 5 файлов в 1 cs файл как событие после сборки?

Ответы [ 2 ]

5 голосов
/ 11 апреля 2010

Зачем вам нужен один файл .cs? Если вы пытаетесь создать один класс , вы можете использовать частичные классы ... хотя это не очень хорошая идея, если у вас есть 9000 строк кода.

Как вы хотите, чтобы произошло слияние? Если это просто прямая конкатенация:

copy Foo.cs + Bar.cs Output.cs

Я подозреваю, что вам понадобится что-то более умное - в этом случае вам нужно написать небольшой инструмент для слияния, а затем запустить этот инструмент в событии после сборки.

Можете ли вы дать нам более подробную информацию о том, почему вы хотите это сделать? Там может быть лучший подход.

0 голосов
/ 11 апреля 2010

Нет ничего встроенного, чтобы сделать это. Но создание инструмента должно быть достаточно простым.

Помимо использования директив, которые должны быть включены вверху, вы можете просто добавлять файлы.

В качестве дубликата директива с использованием только предупреждение:

  1. Захватите ведущие операторы в начало вашего вывода из каждого файла.
  2. Добавить остаток каждого файла по очереди к выводу.

например. следующие копии, с одним предупреждением, для дубликата using:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System;

namespace ConsoleApplication1 {
  class X1 {
    public static void Do() {
      Console.WriteLine("Hello world");
    }
  }
}

namespace ConsoleApplication1 {
  class Program {
    static void Main(string[] args) {
      X1.Do();
    }
  }
}
...