Azure devops Azure管道在发布期间转换web.config文件
我正在尝试在发布管道中使用web.config转换。然而,无论我在做什么,我总是Azure devops Azure管道在发布期间转换web.config文件,azure-devops,Azure Devops,我正在尝试在发布管道中使用web.config转换。然而,无论我在做什么,我总是 2019-11-11T12:19:46.1172474Z##[警告]无法对给定包应用转换。验证以下内容。 我有一个Web.config和一个Web.Elastic.config。该项目的csproj中没有任何.config文件的dependentUpon,并且Web.Elastic.config的内容作为构建操作,并且位于从构建任务生成的zip文件中 此外,我在构建过程中禁用了配置转换,这只是为了确定。我不知道我还
2019-11-11T12:19:46.1172474Z##[警告]无法对给定包应用转换。验证以下内容。
我有一个Web.config
和一个Web.Elastic.config
。该项目的csproj中没有任何.config文件的dependentUpon,并且Web.Elastic.config
的内容作为构建操作,并且位于从构建任务生成的zip文件中
此外,我在构建过程中禁用了配置转换,这只是为了确定。我不知道我还能做什么。在IIS Web App部署任务期间使用文件转换任务预览和XML转换选项时都会发生这种情况
文件转换任务的配置如下:
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<apiConfig xdt:Transform="Replace">
<add key="ClientBasetUrl" value="https://elastic.OURPROJECT.com" />
</apiConfig>
<system.web xdt:Transform="Replace">
<customErrors mode="Off" />
<compilation debug="true" targetFramework="4.6.2" />
<httpRuntime targetFramework="4.6.1" maxRequestLength="20480" />
</system.web>
</configuration>
我将我的配置减少到这一点,以查看转换本身是否有问题:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="apiConfig" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</configSections>
<apiConfig>
<add key="ClientBasetUrl" value="http://localhost:4200" />
</apiConfig>
<system.web>
<compilation debug="true" targetFramework="4.6.2">
<assemblies>
<add assembly="System.Net.Http.WebRequest, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</assemblies>
</compilation>
<!-- This will handle requests up to 20MB -->
<httpRuntime targetFramework="4.6.1" maxRequestLength="20480" />
</system.web>
</configuration>
作为您在上面共享的配置文件中的配置,在我这边应用它时没有任何问题 事实上,在您的构建日志中,它已经向您显示了由什么引起的问题 您可以看到任务只找到一个文件,而在这里它应该匹配两个文件,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<apiConfig xdt:Transform="Replace">
<add key="ClientBasetUrl" value="https://elastic.OURPROJECT.com" />
</apiConfig>
<system.web xdt:Transform="Replace">
<customErrors mode="Off" />
<compilation debug="true" targetFramework="4.6.2" />
<httpRuntime targetFramework="4.6.1" maxRequestLength="20480" />
</system.web>
</configuration>
这两个文件,一个是配置文件,另一个是转换配置文件。但是在您的构建中,它只能找到一个文件(不确定您共享的日志是否已完成,正如我看到的,它只检测出Web.config
文件)
此问题应与任务的配置相关。似乎您正在链接工件,并希望将转换应用到该工件中 请修改包或文件夹空白,如图所示: 并将转换规则更改为:
-transform **\*.Elastic.config -xml **\*.config
我猜这意味着你认为不是吗?你能解释一下为什么不能吗?我认为Azure DevOps是一个常用的工具,并且已经有很多关于这个主题的问题被问到了,例如,或者服务器配置问题是离题的,应该被问到。你应该删除这个并在那里提问。我认为我在选择一个标题时做得不好。更改了标题以更清楚地说明这与Azure DevOps服务器配置无关。只想检查以下内容是否对您有用。你现在还面临任何错误吗?如果仍然遇到任何难题,请随时在下面留下评论。如果有帮助,你可以,这也会帮助社区中的其他人谢谢你的回答。我必须继续链接工件,否则它将无法工作,但对转换规则的更改确实解决了问题。我决定在那里特别指定,因为那里有其他配置文件,但这似乎是导致问题的原因。现在它正按预期工作。