我正在使用yaml FileTransform @ 1转换我的文件,但无法正常工作。它只是跳过更新文件
尝试使用xmlTransformationRules并声明文件类型和tragetfiles,但似乎无济于事
- task: FileTransform@1
inputs:
folderPath: '$(build.artifactStagingDirectory)/**/${{ parameters.projectToDeploy }}.zip'
enableXmlTransform: true
xmlTransformationRules: '-transform **\MyConfig.Dev.config -xml **\MyConfig.config -result **\MyConfig.config'
MyConnfig.config
<?xml version="1.0" encoding="utf-8"?>
<authenticationConfig xmlns:config="urn:telerik:sitefinity:configuration" xmlns:type="urn:telerik:sitefinity:configuration:type" config:version="11.1.6800.0">
<securityTokenServiceSettings>
<identityServerSettings enableLogging="True" mapUsersViaEmail="True" />
<authenticationProviders>
<add somecustomvalue ="1">
</authenticationProviders>
</securityTokenServiceSettings>
</authenticationConfig>
MyConfig.Dev.Config
<?xml version="1.0" encoding="utf-8"?>
<authenticationConfig xmlns:config="urn:telerik:sitefinity:configuration" xmlns:type="urn:telerik:sitefinity:configuration:type" config:version="11.0.6700.0" xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<securityTokenServiceSettings xdt:Transform="Replace">
<identityServerSettings enableLogging="True" mapUsersViaEmail="True" />
<authenticationProviders >
<add mynewvalue="2"/>
</authenticationProviders>
</securityTokenServiceSettings>
</authenticationConfig>
我遇到的新错误是
2019-09-30T23:49:01.0338926Z ##[warning]Can\'t find loc string for key:FailedToApplySpecialTransformation
2019-09-30T23:49:01.0348290Z ##[warning]FailedToApplySpecialTransformation
答案 0 :(得分:0)
此问题是由您为配置文件名写的不正确引起的。您应该将xmlTransformationRules
的值更改为'-transform **\MyConfig.Dev.config -xml **\MyConnfig.config -result **\MyConfig.config'
。因为您将源xml文件名定义为MyConnfig.config
。
请参阅此FileTransform task源代码。它的实际应用脚本为apply transform。您会看到收到的错误消息是因为isTransformationApplied
是false
,并且由于文件名彼此不匹配,所以无法执行for
循环。>
错误消息表示抱歉,我认为您提供的文件与提到的规则不匹配,因此我无法帮助您应用此转换过程。
第一个问题将得到解决,但是现在,在您的MyConfig.Dev.Config
文件中,它似乎是无效的xml。因为我测试了您的配置文件,并收到错误消息:
The 'add' start tag on line 6 position 18 does not match the end tag of 'authenticationProviders'
在MyConnfig.config文件中,您在标签/
中丢失了<add>