私のターゲット環境は .cs ファイルのみを受け入れ、実行時にそれらをコンパイルします。
私のプロジェクトには gui.cs と他の 4 つのクラス ファイルがあります。約 9000 行のコードです。
ビルド後のイベントとして、5 つのファイルすべてを 1 つの cs ファイルにマージする方法はありますか?
私のターゲット環境は .cs ファイルのみを受け入れ、実行時にそれらをコンパイルします。
私のプロジェクトには gui.cs と他の 4 つのクラス ファイルがあります。約 9000 行のコードです。
ビルド後のイベントとして、5 つのファイルすべてを 1 つの cs ファイルにマージする方法はありますか?
単一の .cs ファイルが必要なのはなぜですか? 単一のクラスを作成しようとしている場合は、部分クラスを使用できます...ただし、9000 行のコードがある場合は、あまり良い考えではないように思えます。
マージをどのように行いたいですか?単純な連結の場合:
copy Foo.cs + Bar.cs Output.cs
ただし、もう少しスマートなものが必要になると思います。その場合、マージを行うための小さなツールを作成し、ビルド後のイベントでそのツールを実行する必要があります。
なぜこれをやりたいのか、もっと詳しく教えていただけますか?より良いアプローチがあるかもしれません。
これを行うために組み込まれたものは何もありません。しかし、ツールの構築は十分に簡単なはずです。
先頭に含める必要があるディレクティブを使用する以外は、ファイルを追加するだけでよいはずです。
重複する using ディレクティブは単なる警告です。
たとえば、次のようにコンパイルすると、重複する警告が 1 つだけ表示され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();
}
}
}