问题标签 [xmlpoke]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
msbuild - 如何使用 MSBuild 'afterbuild' 任务来编辑 .config 文件?
我在目标项目中有一个 .config,我需要通过 MSBuild 任务以编程方式向其中添加一行。
伪操作,例如:
- 找到目标 .config 文件
- 确定新节点的属性值(例如,“包”节点的“id”和“版本”)
- 在正确的父节点中插入新节点
- 保存更改
$TargetProjectDir\Config\packages.config 中的 .config 文件:
之后需要看起来像这样:
到目前为止,我已经考虑过使用“内联任务”、“执行”任务和“XmlPoke”任务,但没有设法让它们中的任何一个工作。
这是我对 XmlPoke 和 XmlPeek 的尝试:
我使用以下文章作为如何将节点添加到 packages.config 文件的灵感: http ://weblogs.asp.net/bsimser/appending-nodes-in-xml-files-with-xmlpeek-and-xmlpoke-使用-nant
上述构建的输出是:
问题: 如何将其添加到具有现有包节点的 .config 文件中???
nant - 如何在 nant xmlpoke 文件路径中使用通配符
我在 nant 中使用 xmlpoke 任务,并且正在寻找一种在寻址 xml 文件时使用通配符的方法。现在我有一个像 project\appFiles\project{versionNumber}\fileToUpdate.xml 这样的文件路径,我想使用通配符,所以它类似于 project\appFiles\project*\fileToUpdate.xml 所以我不必更新每次的版本号。
你如何让它尊重通配符?
jenkins - 使用 xbuild 和 Jenkins 更新 android manifest 的正确方法是什么
在我们的环境中,我们正在构建 xamarin.android 项目,并希望将 $(build_number) 变量传递给 Jenkins 构建。不幸的是,Jenkins 正在构建项目,就好像没有任何东西传递给构建工作流程。
我尝试使用 XmlPoke,它适用于 windows,但在 mac 上根本不起作用。
操作系统:mac os x jenkins & xamarin 是最新的稳定版本
请建议。
msbuild - MSBUILD:如何附加到 XML 文件
对于您的应用程序,我们使用在构建过程中生成的 XML 文件(目前使用 NAnt)。在 XML 文件中,每个应用程序模块都有一个部分。现在我想从 NAnt 切换到 MSBuild。
我想将每个模块的模块描述附加到我们的 XML 文件中。XML 文件应具有以下结构
这是我的 MSBuild 代码
我可以在 xml 文件中添加一个部分。但我不知道如何将现有树读取为字符串并将其与新树合并并将其添加到文件中。
如果一个模块已经在那里,它应该被替换。
xml - 如何使用 msbuild 更改检测清单中的属性值?
Microsoft EventRegister 工具在项目编译期间创建检测清单文件以及资源文件。我想在编译后将这些文件移动到另一个路径,并使用 msbuild 更改检测清单文件中的两个属性。属性的值是一样的,每一个都代表所附资源文件的路径。似乎我无法正确使用 msbuild 修改属性的语法,我认为这与两件事有关。
首先,检测清单文件不包含经典的 xml 文件声明。其次,检测清单包括命名空间。
多亏了 Sayed Ibrahim Hashimi 的博文“使用 MSBuild 更新 XML 文件”,到目前为止我想出的是这样的:
这会负责复制,但不会更改属性值。
仪表清单文件如下所示:
需要更改的属性是//provider/@resourceFileName
和//provider/@messageFileName
。
xml - 为构建配置(MSBuild 或 NANT)一遍又一遍地调用 XMLPoke 的替代方法?
有没有一种有效的方法来为 .NET 项目构建大型配置(需要设置许多属性)?XMLPoke 非常适合进行少量更改,但不适用于需要设置许多属性的大型更复杂项目。
这是我当前配置文件之一的一小段摘录:
我不想针对多个服务的配置继续这样做几十次。
我研究了 MSBuild 转换,但这些似乎使整个配置过程过于简洁。
c# - 使用 CakeBuild XMLPoke 更改节点的内部文本值
我无法弄清楚如何在 Cake 中使用 XmlPoke 更改 XML 节点的内部文本值。我不断收到的错误是Error: Expression must evaluate to a node-set.
我的 XML 看起来像这样
我的build.cake
样子是这样的
c# - XmlPoke 任务修剪值
有没有办法使用以空格结尾的值作为 XmlPoke 值?当我执行任务时,值被替换但最后没有空格。
再生产:
测试目标:
测试.xml:
当我运行时:
我得到 output.xml 没有空格:
有没有办法强制 XmlPoke 设置正确的值(最后有空格)?
c# - Xmlpoke 添加多个 appsettings 键不起作用
我有一个 Msbuild 目标,它通过将一个名为“ProjectID”的键添加到 web.config 的 appsetting 部分来成功执行。现在我通过向同一个 appsetting 部分再添加一个键“ApplicationId”来更改此目标的行为。日志显示 xmlpoke 对两者都执行。但只有 projectID 值被每次运行正确替换。
(摘自)PropertyGroup定义:
目标代码:
观察到的输出日志:
使用程序集“Microsoft.Build.Tasks.Core, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”中的“XmlPoke”任务。2019-06-25 08:37:13,202 [9] 调试 EP.BuildService.Handlers.ProjectBuildLogger [2e0de09a-3fd8-4932-bc1d-e3a66dd3c1ca] - 任务“XmlPoke” 2019-06-25 08:37:13,203 [9]调试 EP.BuildService.Handlers.ProjectBuildLogger [2e0de09a-3fd8-4932-bc1d-e3a66dd3c1ca] -将“值”替换为“4424cc12-4368-45ad-ad5b-19e821eb91d4”。 2019-06-25 08:37:13,203 [9] 调试 EP.BuildService.Handlers.ProjectBuildLogger [2e0de09a-3fd8-4932-bc1d-e3a66dd3c1ca] -做了 1 个替换. 2019-06-25 08:37:13,204 [9] 调试 EP.BuildService.Handlers.ProjectBuildLogger [2e0de09a-3fd8-4932-bc1d-e3a66dd3c1ca] - 完成执行任务“XmlPoke”。2019-06-25 08:37:13,204 [9] 调试 EP.BuildService.Handlers.ProjectBuildLogger [2e0de09a-3fd8-4932-bc1d-e3a66dd3c1ca] -任务“XmlPoke” 2019-06-25 08:37:13,204 [9]调试 EP.BuildService.Handlers.ProjectBuildLogger [2e0de09a-3fd8-4932-bc1d-e3a66dd3c1ca] - 进行了0 次替换。2019-06-25 08:37:13,204 [9] 调试 EP.BuildService.Handlers.ProjectBuildLogger [2e0de09a-3fd8-4932-bc1d-e3a66dd3c1ca] -完成执行任务“XmlPoke”。
到目前为止我已经尝试过:
- 最初是在 PropertyGroup 中传递 ApplicationId 值。它没有帮助。
- 所以硬编码代码中看到的值,Value="SetAValue" 仍然没有将密钥添加到 appsetting。