我正在使用Powershell脚本在Teamcity中更改BuildNumber:
$projectFile = Resolve-Path ".\\source\\project\\project.csproj"
$info = (Get-Content $projectFile)
$matches = ([regex]'<Version>(\S*)</\Version>).Matches($info)
$newBuildNumber = $matches[0].Groups[1].Value
Write-Host "##teamcity[buildNumber '${newBuildNumber}']"
基本思想是使用C#网络核心项目文件中的版本号作为内部版本号。运行此脚本时,出现以下错误消息。
Unexpected token 'newBuildNumber' in expression or statement.
[09:11:44][Step 3/8] At
C:\TeamCity\buildAgent\temp\buildTmp\powershell4859822141650403163.ps1:5 cha
[09:11:44][Step 3/8] r:54
[09:11:44][Step 3/8] + Write-Host "
[09:11:44][Step 3/8] "
[09:11:44][Step 3/8] + CategoryInfo : ParserError:
(newBuildNumber:String) [], ParentC
[09:11:44][Step 3/8] ontainsErrorRecordException
[09:11:44][Step 3/8] + FullyQualifiedErrorId : UnexpectedToken
答案 0 :(得分:1)
regex字符串没有右引号,转义的\V
导致错误。
更改为
$matches = ([regex]'<Version>(\S*)</Version>').Matches($info)