我正在将发布管道上的File Transform V2任务用于ClickOnce应用程序部署。
-transform **\*.Release.config -xml **\*exe.config.deploy
我从未遇到过以这种方式转换和部署ClickOnce应用程序的问题,但是由于某种原因,在转换此特定应用程序时,我总是遇到以下错误:
Unable to apply transformation for the given package - Changes are already present in the package.
我仔细检查了构建管道,以确保在此步骤中未执行转换,而且看起来也不是。有没有一种方法可以确保在app.config上的转换不会在构建管道中发生,以防万一?
[除此之外,我不知道这个问题可能是什么。我的任何流水线中都没有其他任何变换步骤,因此,至少从我的观察中,不应有任何理由抢先进行变换。
奇怪的是,即使它说它已经被转换了,但在我看来,根本没有转换发生。 app.config中的所有字符串和值仍然相同。
如果有人有任何想法,或需要我提供特定的日志/信息,请告诉我。
我复制了问题,发现它仅在任务找不到源文件时发生,请参阅:
1。似乎您在反式规则中使用的是-xml **\*exe.config.deploy
之类的内容,请尝试使用**\*.exe.config.deploy
而不是**\*exe.config.deploy
。
((或使用有效名称,如Name.exe.config.deploy,在我这方面效果很好)
2。并且,如果以上建议不能解决您的问题,则还应检查文件转换任务的Package or folder (folderPath in yaml)
输入。确保系统可以在正确的文件夹中找到xx.exe.config.deploy
文件。
(通常,该文件夹为$(System.DefaultWorkingDirectory)
,但不确定是否进行了某些更改,因此该文件位于另一个目录中……)