1

(この質問はかなり似ていますが、唯一の答えは私のニーズに答えているようには見えません)。

C# でThriftを使用することを考えており、ビルド プロセスがどのように機能するかを検討しています。Visual Studio 2008 の C# プロジェクトは、C# クラスを生成するカスタム ビルド アクションをサポートしていますか?

「カスタム ツール」オプションを見つけましたが、それが探しているものかどうかわかりません ... 設計時の使用のみを許可します (ビルド プロセスに不可欠ではなく、「カスタム ツールの実行」を右クリックします)。 )。

アップデート

Fionn が提案したビルド前のイベントは、依存関係を考慮せず、ビルド プロセスを長引かせるため、実際には最適ではありません。また、ファイルごとではなく中央の場所から管理されます。

4

3 に答える 3

1

最も簡単で安全なオプションは、Fionn が言及しているように、「ビルド前のイベント」に生成を含めることです。長所: コードは常に正確です。短所: コンパイルのたびにソース コードを再生成し、生成されたコードが変更されるため、すべての依存関係を再構築する必要があるため、遅くなります。

もう 1 つのオプションは、コード ファイルを手動で再生成することです。ビルド マシン/継続的インテグレーションがある場合は、ビルドごとにコード ファイルを再構築します。長所: 変更が少ない場合、ビルドが高速化されます。 短所: 生成されたコードが古くなり、何が問題なのかを解決しようとして何時間もの無駄なデバッグが行われます。

C# プロジェクトのヘルプを読むと、必要なカスタム ツール アクションを提供するプラグインが必要なようです。ただし、C++ プロジェクトでは、独自のカスタム ステップMS-Helpを定義できます。したがって、VisualStudio プラグインを開発する (またはプラグインを見つける) か、C++ プロジェクトをソリューションに追加し、そのプロジェクトにカスタム ビルド ステップを追加してから、通常の C# プロジェクトに出力を含めることができます。

「 visual studio custom tool code gen」の最初のグーグルには、良い出発点となる独自のカスタムツールを作成する方法があります。

于 2009-04-15T04:05:28.970 に答える