質問
.VDPROJファイル(Visual 2010 Studio Setup and Deployment Project)を解析できるC#サンプルコードまたはツールを探しています。
解決
このファイルを解析するためにC#とLinqを使用することを提案します。このvdprojのサンプルを使用して行きましょう。残念ながらXMLベースではなく、むしろJSON に似ているが正確には見えないが、
線を繰り返すことを提案します。見たタブの数、および解析したいセクション見出しの行番号に基づいている場所を決定します。
string[] allLines = System.IO.File.ReadAllLines(@"C:\foo.vdproj");
// iterate, and determine where the Configuration heading is....
if (line == "\t\"Configurations\"")
.
マイサンプルコードは大きすぎてここに貼り付けられているので、 http://pastebin.com/daitcutd
複雑さは、ファイルから抽出する必要があるデータ量だけです。
これが助けを願っています。前払いツールを探していたようなように聞こえますが、おそらくこのコードはあなたが.vdprojファイルの解析で始まります。
他のヒント
XML構造体との間でVDPROJファイルを変換する単純なコンソールアプリケーションを書きました。これにより、[プログラムの追加と削除]アイコンが[ビルドプロセス]に設定するのが非常に簡単になりました。
何か
UPD:D'OH!vcprojectbindingparser.csとvbprojectbindingparser.csのようなツールの束があり、.vdprojには何もありません。私は知りません、おそらく私は自分のパーサを構築する必要があるつもりです。
ahhh(重いこと)だけを節約したいだけでした。
InstallShieldはVDPROJをISMに変換できます。それはそれをWIXに照会または暗くすることができるMSIデータベースになります。
$_ = join('', <>);
s/[=](.+)/:$1,/g;
s/[{]/: {/sg;
s/}/},/g;
s/[,](?:\s+)?[}]/}/sg;
s/[,](?:\s+)?$//s;
print "{$_}";
.
^ - このPerlスニペットは[My] vdprojをJSONに変換します。