.NETアセンブリを入力として受け取り、別の製品で使用するために出力としてXMLを生成するコマンドラインユーティリティを開発しました。
理想的には私はそれを持っているでしょう:
- NuGetを介してソリューションレベルのパッケージとして提供
- プロジェクトレベルのビルド後のイベントでアクセス可能
- 私が立ち往生しているビット:パスなしでコマンド名を指定するだけで、ビルド後のイベントでアクセス可能
- つまり、.. \ packages \ ToolName-1.0.0.0 \ tools \ MyTool.exe / i $(TargetPath)ではなくMyTool.exe / i $(TargetPath )
すでに実行できる最初の2つのこと、および上記のビルド後のイベントコマンドは問題なく機能しますが、最初にパッケージマネージャーコンソールを開いた場合に限ります(コマンドを入力しなくても、開く必要があります)。起動時にパスで何かクールなことをしているので、.. \ packages \ ToolName-1.0.0.0 \ tools\MyTool.exeを指定する必要はありません。
NuGetパッケージでInit.ps1スクリプト(またはその他のメカニズム)を使用してパスを調整し、ビルド後のイベントを作成するときにツールへの完全な相対パスを指定したり、実行を含めたりする必要がないようにすることはできますか?ビルド後のステップとしてツールを自動的に使用しますか?
注-NuGetは、この種のツールを提供するための理想的なベクトルではないかもしれませんが、便利です。