古いスタイル形式(xmlなし)の設定ファイルがあります
dbpath=C:\Program Files\Mongodb\Data\Db
journal=true
smallfiles=true
私がリリースしているシステムにもよりますが、=の後に値を更新して変更したいと思います。
これはMSbuildで可能ですか?方法を教えてもらえますか?
xml構成ファイルのxmlpokeを使用してこれを行う方法を知っています。
古いスタイル形式(xmlなし)の設定ファイルがあります
dbpath=C:\Program Files\Mongodb\Data\Db
journal=true
smallfiles=true
私がリリースしているシステムにもよりますが、=の後に値を更新して変更したいと思います。
これはMSbuildで可能ですか?方法を教えてもらえますか?
xml構成ファイルのxmlpokeを使用してこれを行う方法を知っています。
あなたがそれに答えるのを助けるために質問をするようなものはありません!
私はこれをするつもりです
<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についてはあまりわかりません!
より良い提案がありますか?
独自のMSBuildタスクを作成します。
http://msdn.microsoft.com/en-us/library/t9883dzc(v=VS.90).aspx
次に、MSBuildスクリプトでそれを参照します。
テンプレートシステムをセットアップして、msbuild拡張パックのデトークンを使用できます。こちらのドキュメントを参照してください: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)"/>