我有一个旧样式格式的配置文件(无 xml)
dbpath=C:\Program Files\Mongodb\Data\Db
journal=true
smallfiles=true
根据我发布的系统,我也想更新和更改 = 之后的值
MSbuild可以做到这一点吗?你能告诉我怎么做吗?
我知道如何使用 xml poke for xml 配置文件来做到这一点。
我有一个旧样式格式的配置文件(无 xml)
dbpath=C:\Program Files\Mongodb\Data\Db
journal=true
smallfiles=true
根据我发布的系统,我也想更新和更改 = 之后的值
MSbuild可以做到这一点吗?你能告诉我怎么做吗?
我知道如何使用 xml poke for xml 配置文件来做到这一点。
您可以设置模板系统并使用 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)"/>
编写自己的 MSBuild 任务,
http://msdn.microsoft.com/en-us/library/t9883dzc(v=VS.90).aspx
然后在您的 MSBuild 脚本中引用它。
没有什么比提出问题来帮助您回答更重要了!
我要这样做
<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 没有太多了解!
有更好的建议吗?