Я пытаюсь заменить ProductName, хранящийся в проекте установки Visual Studio, выполнив регулярное выражение для файла в моем сценарии msbuild. Для замены regEx я пытаюсь использовать пакет расширений msbuild и, в частности, задачу File. Цель внутри моего скрипта msbuild выглядит так:
<Target Name="CustomiseMsi">
<PropertyGroup>
<RegExPattern>
<![CDATA[(?:\""ProductName\"" = \""8:.*)]]>
</RegExPattern>
<RegExReplacement>
<![CDATA["\"ProductName\" = \"8:MyApp v1.0\""]]>
</RegExReplacement>
<RegExOutput></RegExOutput>
</PropertyGroup>
<MSBuild.ExtensionPack.FileSystem.File
TaskAction="Replace"
RegexPattern="$(RegExPattern)"
Replacement="$(RegExReplacement)"
Files="@(AbsolutePathToVdProjToParse)">
</MSBuild.ExtensionPack.FileSystem.File></Target>
Когда эта цель запускается, я получаю следующий вывод, но файл остается неизменным.
CustomiseMsi:
Processing File Collection
Processing File: C:\pathHere\mySetup.vdproj
Я иду по этому правильному пути? Кто-нибудь делал регулярные выражения, обновленные на vdproj (или что-нибудь еще) таким образом?