2

我有一个旧样式格式的配置文件(无 xml)

dbpath=C:\Program Files\Mongodb\Data\Db
journal=true
smallfiles=true

根据我发布的系统,我也想更新和更改 = 之后的值

MSbuild可以做到这一点吗?你能告诉我怎么做吗?

我知道如何使用 xml poke for xml 配置文件来做到这一点。

4

3 回答 3

1

您可以设置模板系统并使用 msbuild 扩展包中的 detokenise。请参阅此处的文档:http ://www.msbuildextensionpack.com/help/4.0.6.0/Index.html

这意味着您不必一直像上面那样编写自定义目标

所以你有:

 <ItemGroup>
      <Transforms Include="$(ReleasePath)\Yourtemplates\**"/>
    </ItemGroup>


    <MSBuild.ExtensionPack.FileSystem.Detokenise
      TaskAction="Detokenise"
      TargetFiles="%(Transforms.FullPath)"/>
于 2013-03-26T14:04:08.627 回答
1

编写自己的 MSBuild 任务,

http://msdn.microsoft.com/en-us/library/t9883dzc(v=VS.90).aspx

然后在您的 MSBuild 脚本中引用它。

于 2013-03-26T11:59:58.393 回答
1

没有什么比提出问题来帮助您回答更重要了!

我要这样做

<Target Name="UpdateConfig">
    <CreateProperty Value="..\config.cfg">
         <Output TaskParameter="Value" PropertyName="path" />
    </CreateProperty>

    <Message Text="LogFilePath=$(LogFilePath)"/>

    <FileUpdate Files="$(path)"
        Regex="logpath=.*"
        ReplacementText="logpath=$(LogFilePath)" />
</Target>

这不是我所说的优雅,但我对 msbuild 没有太多了解!

有更好的建议吗?

于 2013-03-26T11:52:56.363 回答