我正在尝试编写一个 NAnt 扩展任务,该任务可以更新 Visual Studio 2003 生成的 Setup .vdproj 文件中的不同设置,并希望获得以下帮助。
具体来说,我想使用 RegEx 表达式来查找,如果找到,将分配给 ProductName 值的任何值字符串值替换为整个新字符串值。
我正在寻找一个 RegEx 表达式集以将“ProductName”更改为任何其他值,而不必依赖任何其他内容,而不是所寻求的字符串以“ProductName”=“8”开头:然后有 1 个或多个字符并以 a 结尾" 标记。我尝试了以下方法无济于事:
在执行以下代码片段之前,.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"
关闭,但我期待“我的其他本机应用程序”替换“我的简单 .NET 应用程序”,而不是添加到它。
任何见解和帮助将不胜感激。