0

私はVisual Studio 2010用のvspackageをビルドしており、ビルドプロセス中にソリューション内のすべての関数にコードを不可視に注入できるようにする必要があります。ビルド前にコードを挿入

現在、私はこれを使用することができます参照してくださいすべてのコードファイルに直接コードを挿入

TextDocument doc = (elemInfo.ProjectItem.Document.Object() as TextDocument); 

EditPoint ep = doc.CreateEditPoint(elemInfo.StartPoint); 
ep.Insert(sb.ToString()); 

を。これは動作しますが、コードはランタイムデータを収集するだけなので、私はそれを見る必要はありません。上記のようなコードを公に挿入することなくビルドプロセス中にコードを注入する方法はありますか?

ソリューション内のすべてのコードファイル用に一時ファイルを作成し、コードを注入してから、デバッグセッションが終了した後に破棄することができます。これが最善の方法だろうか?

intellitraceが実行中の実行可能ファイルからデータを収集する場合、これと同じようなことをする必要はありませんか?変数状態を保存するために、各メソッドにコードを注入すると仮定します。

+1

[AOP](http://www.sharpcrafters.com/)FTW – bzlm

+1

笑あなたのコメントを一目で、AOP FTW bzlmを読み込み不可解せせらぎのように思えるXD – RhysW

答えて

1

PostSharp、@bzlmあたりとしてhttp://www.sharpcrafters.com/ 基本的にAOP

+0

これがどのように役立つのかわかりません。ビジュアルスタジオプラグインはC#プロジェクトで使用でき、必ずしもポストシャープを使用しているとは限りません。ユーザーがボタンをクリックしてから、コードが挿入され、続いてプログラムが実行され、実行の終了時にコードが削除されます。ポストシャープが達成できない(属性を必要とする)すべてが、目に見えない形で行われることが望ましい。私はこの小さなプラグインについてもコストは正当だとは思わない。 – LynchDev

関連する問題