2017-02-22 17 views
1

Bis letztes Jahr verwendeten wir eine MsBuild-Datei für unsere Build-Definitionen. Seit diesem Jahr wollen wir das neue vNext Buildsystem in dem TFS 2015TFS 2015 vNext UsingTask

Und das ist meine Frage verwenden: später

In der XAML-Datei, die wir haben eine Zeile wie

<UsingTask TaskName="ReplaceTextInFile" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll"> 

es zu benutzen in der xaml like

<ReplaceTextInFile 
      InputFilename="$(someFolder)$(someOtherFolder)\someFile.config" 
      OutputFilename="$(someFolder)$(someOtherFolder)\someFile.config" 
      MatchExpression="$(somePattern)" 
      ReplacementText="$(someText)" 
     /> 

Wie implementiere ich dies auf die neue vNext ???

+0

Dies ist keine XAML-Builddatei, dies ist eine MsBuild-Builddatei. – jessehouwing

Antwort

3

Da dies ein von Ihnen gepostetes MsBuild-Snippet ist, können Sie einfach die Task MsBuild ausführen ausführen und die alte Projektdatei ausführen.

Aber wenn man auf die Portierung gesetzt sind, dann haben Sie ein paar Optionen:

  • Verwenden Sie eine der Ersatz-Erweiterungen aus dem VSTS-Marktplatz, gibt es ein paar, ich persönlich habe gute Erfahrungen mit this one oder this one .
  • Erstellen Sie ein Powershell/Shell/Batch-Skript, das Ihre Aufgaben erfüllt und den Shell-Task (inline) zum Ausführen des Skripts als Teil des Builds verwendet. Powershell hat sehr powerful regex options mit -match und -replace.