Visual Studio 2010 (Express ではない) と MSBuild を使用して、ビルド プロセスの一部としてコードとジェネレーター コードを検証できる方法を探しています。
バックグラウンド検証:
WCF Web Api を使用して RESTful Web サービスを作成しています。Web サービスを表すサービス クラス内で、エンドポイントを定義し、追加のパラメーターを単純なテストとして宣言する必要があります。エンドポイント宣言内のパラメーター名が C# メソッドのパラメーターと異なる場合、エラーが発生します。残念ながら、コンパイル時ではなく、Web サービスにアクセスする実行時に発生します。そのため、このような欠陥のコンパイル手順の一部として Web サービス クラスを分析し、何かが正しくない場合にエラーを返すとよいと考えました。
例:
[WebGet(UriTemplate = "Endpoint/{param1}/{param2}")]
public string MyMethod(string param1, string parameter2) {
// Accessing the web service now will result in an error,
// as there's no fitting method-parameter named "param2".
}
また、GET メソッドは「Get」という単語で始まる必要があるなど、いくつかの命名規則を適用したいと考えています。これにより、複数の同僚と作業する場合に、サービスをより保守しやすくすることができると思います。
バックグラウンド生成:
このサービスにアクセスするためのクライアントを作成する必要があるため、他のいくつかのプロジェクトでこの REST Web サービスを使用します。しかし、サービスが変更されるたびに常に調整して、これらのそれぞれのクライアントを作成したくありません。Web サービス コード ファイルに基づいて、クライアントを自動的に生成したいと考えています。
以前のアプローチ:
これまでのところ、DTE インターフェイスを使用して T4 テンプレートを使用して、コード ファイルを解析して検証するか、クライアントを生成しようとしました。手動で保存する場合、これは Visual Studio で正常に機能しましたが、これをビルド プロセスに統合すると、MSBuild を使用して Visual Studio ホストを使用できないため、うまく機能しないことが判明しました。
どんな提案でも大歓迎です。:)