1

私は大きな問題を抱えていると思います。

私は2つのプロジェクトソリューションを持っています。

1 つ目は UI プロジェクトです。アルゴリズム サービスの 2 つ目。

コンパイルする直前に、UI 部分でクラス (fileUI.cs)を生成(または上書き) する必要があります。

主な考え方は、サービス パーツ (fileSA.cs) のクラスを編集し、UI パーツ (fileUI.cs) のクラスがサービス パーツのクラス情報 (fileSA.cs) で更新される直前にソリューションをビルドすることです。 )、その後、コンパイルされます。

VSがすべてのフォーム(ユーザーコントロール...)の.designer.csで行うことと似ていると思います

それが可能かどうかはわかりません...

どうもありがとう

4

3 に答える 3

3

Visual Studioには、このユースケースを正確に対象とする単一ファイルジェネレーター/カスタムツールと呼ばれるメカニズムがあります。fileUI.cs別のファイルが変更されたときにファイルを生成します(この場合fileSA.cs)。

このようなカスタムファイルジェネレーターの記述方法については、MSDNの記事「シングルファイルジェネレーターの実装」を参照してください。

PS:これは適切なメカニズムですが、プロジェクトの境界を越えて機能するとは思いません。

于 2012-06-22T09:02:36.553 に答える
3

ここに T4 テンプレートが必要です

コード生成と T4 テキスト テンプレート

于 2012-06-22T07:49:58.347 に答える
1

プロジェクトにカスタム msbuild ターゲットを追加できます (プロジェクトを右クリック -> プロジェクト ファイルを編集)。msbuild ターゲットの詳細については、msdnを参照してください。このターゲットの一部としてカスタム タスクを実行できます。コードを生成する方法は、T4 テンプレートを使用することです。ビルド プロセスの一部として t4 テンプレートを実行する方法の詳細については、こちらをご覧ください。Oleg Sych は T4 について多くの詳細な説明を行っており、この問題に関する一種の権威であるため、彼のサイトは最初に読むのに適しています。

于 2012-06-22T07:50:46.857 に答える