Visual Studio 2003 で生成された Setup .vdproj ファイル内のさまざまな設定を更新できる NAnt 拡張タスクを作成しようとしています。
具体的には、RegEx 式を使用して検索し、見つかった場合は、ProductName 値に割り当てられた値文字列値を新しい文字列値に完全に置き換えたいと考えています。
探している文字列が "ProductName" = "8" で始まり、1 つ以上の文字があり、 "マーク。次のことを試してみましたが、役に立ちませんでした:
次のコード フラグメントを実行する前に、.vdproj ファイルの ProductName は次のようになります。
"ProductName" = "8:My Simple .NET Application"
... および C# のコード フラグメント:
string _theProductName = "My Other Native Application";
Regex productNameExpression = new Regex( @"(?:\""ProductName\"" = \""8:*)" );
_theProjectFileContents =
productNameExpression.Replace(_theProjectFileContents,
"\"ProductName\" = \"8:" + _theProductName + "\"" );
bool updatedProductName =
(_theProjectFileContents.IndexOf(_theProductName) >= 0);
上記のコード フラグメントを実行すると、.vdproj ファイルの ProductName は次のようになります。
"ProductName" = "8:My Simple .NET Application"My Other Native Application"
閉じますが、「My Other Native Application」が「My Simple .NET Application」に置き換わり、追加されないことを期待していました。
洞察と助けをいただければ幸いです。