tmori3y2のブログ

主にWindowsのプログラムなど

MSBuildのインラインタスクで.nuspecファイルを加工してみた

tmori3y2.hatenablog.com

前回は、自作のNuGet Packageをパックして、ローカルパッケージソースに配置するまでを半自動化するMSBuild Targetを作りました。

しかし、まだまだ不満があります。

  • プレースフォルダ$copyright$が.nuspecファイルのテンプレートで使われていないので、毎回書き換えている
  • ツールや辞書のNuGet Packageの依存関係を持たせない<developmentDependency>が.nuspecファイルのテンプレートに含まれないので、すぐに指定するのを忘れる

最初は、XmlPokeタスクで出来るかと思いましたが、<developmentDependency>の挿入は出来なさそうです。

この辺も、OnBuildにヒントがありました。

kazuktnd.wordpress.com

github.com

インラインタスクというらしくて、こちらの記事でも紹介がされています。

odashinsuke.hatenablog.com

XMLの加工はこんな感じ。

例外処理を嫌って、.nuspecファイルを生成したときのみ加工をするようにしています。

ソースコードはこちらに置きました。

BlogSamples/NuGetPackages at Article_20160410 · tmori3y2/BlogSamples · GitHub