f# - 使用 FAKE F#MAKE 更新 XML 文件

标签 f# f#-3.0 f#-fake

如何使用 FAKE 更新 XML 文件中的属性?

我想从 fake 更新 xml 文件。实际上,teamcity 生成了 version_no 之类的东西,我必须更新 version.config 文件中的版本号。

我已经看到可以使用 XMLHelper 类来完成,但我不知道如何使用它。

这是 xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<version-info>
  <major-version number="1">
    <minor>1-aplha</minor>
    <build>123</build>
    <revision>112</revision>
  </major-version>
</version-info>

例如:我需要将major version、minor、build、revision分别更改为2、1、12、123。

我该怎么做?

最佳答案

我对我的“build.fsx”文件进行了快速编辑。编辑看起来像这样:

// Build the main module with MSBuild
Target "BuildMain" (fun _ ->
  XMLHelper.XmlPokeInnerText "./myxml.xml" "/version-info/major-version/minor" "now-beta"
  !! "./Kapoin_03_Main/Kapoin_03_Main.fsproj"
  |> MSBuild buildDir "Build" buildProps
  |> Log "Main build output: " )

在构建过程中,它会编辑“myxml.xml”并替换次要标记内的值。编辑后的 ​​XML 如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<version-info>
  <major-version number="1">
    <minor>now-beta</minor>
    <build>123</build>
    <revision>112</revision>
  </major-version>
</version-info>

关于f# - 使用 FAKE F#MAKE 更新 XML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42899377/

相关文章:

f# - 如何从 VS Code 启动 F# 控制台应用程序

build - 我如何使用伪造的 "the f# way"创建一个 tar 存档

sql-server - 无法使用 F# TypeProvider 读取日期

visual-studio - F# 断点仅在抛出异常后才起作用

performance - 优化 Euler #4 的 F# 答案

f# - F#将元素添加到序列

.net - F# 可以更新类中的不可变绑定(bind)(创建一个更改了指定绑定(bind)的新对象吗?)

f# - FAKE 构建文件中的 xUnit2 目标出现 "option"缺失错误

f# - 为什么 'let x = 1' 是有效的 F# 表达式?

visual-studio-2010 - F# 3.0 是否可用于 Visual Studio 2010 专业版?