2010-04-11 3 views
2

В моей целевой среде принимаются только файлы .cs и соблюдает их во время выполнения.Visual Studio - событие после сборки для слияния файлов .cs

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

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

ответ

5

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

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

copy Foo.cs + Bar.cs Output.cs 

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

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

+0

+1 так просто, это brilliant-- используется для CSS-файлов, хотя (которые позже уменьшенные) – davidsleeps

+1

'копии * .cs output.cs' для объединения N .cs в один. – RaphaelDDL

0

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

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

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

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

E.g. следующий компилируется, с помощью всего одного предупреждения, для дубликата 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(); 
    } 
    } 
} 
+0

Достаточно хорошо - большое спасибо. – Patrick

Смежные вопросы