Release Pipeline throws the following error: Unable to apply transformation for the given package - Changes are already present in the package

Release Pipeline throws the following error: Unable to apply transformation for the given package - Changes are already present in the package

我在我的发布管道上使用文件转换 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.

中的所有字符串和值仍然相同

如果大家有什么想法,或者需要我提供具体的logs/information,请告诉我。

我重现了这个问题,发现它只出现在任务找不到源文件的时候,参见:

1.It 似乎您在反式规则中使用了 -xml **\*exe.config.deploy 之类的东西,请尝试使用 **\*.exe.config.deploy 而不是 **\*exe.config.deploy

(或者使用像 Name.exe.config.deploy 这样的有效名称,在我这边效果很好)

2.And 如果上述建议无法解决您的问题,您还应该检查文件转换任务的 Package or folder (folderPath in yaml) 输入。确保系统可以在正确的文件夹中找到 xx.exe.config.deploy 文件。

(通常文件夹是 $(System.DefaultWorkingDirectory),但不确定您是否做了一些更改,所以文件在另一个目录中...)