現在、code generator projectのナゲットパッケージをパッケージ化しています。実行可能ファイルをtools
ディレクトリに含め、プロセスにビルドターゲットを含めるまでは、ターゲットツールパスを構築する
cgbr.targets
ファイル
<?xml version="1.0" encoding="utf-8" ?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="BeforeBuild">
<Exec Command="cgbr.exe $(ProjectDir)"/>
</Target>
</Project>
のnuspec
<files>
<file src="cgbr.targets" target="build\cgbr.targets" />
<file src="cgbr.json" target="content\cgbr.json" />
<file src="..\bin\CGbR.Lib.dll" target="lib\CGbR.Lib.dll" />
<file src="..\bin\cgbr.exe" target="tools\cgbr.exe" />
</files>
コンテンツから部分的な今、私はそれがビルドプロセスに含まれていることがわかり、パッケージをインストールするとき。残念ながら、cgbr.exe
へのパスは無効です。私はちょっと立ち往生しています。もちろん、私は$(SolutionDir)packages\CGbR.0.3\tools\cgbr.exe
を使用することができましたが、バージョンを変更するたびに変更する必要があります。
明確にするには:パッケージツールのパスへのパスが必要です。
編集:related post
相対パスは良いですが、私のナゲットパッケージディレクトリへの相対パスが必要です。 – Toxantron
@Toxantronしかし、msbuildには "my nuget package directory"という概念はありません。しかし、あなたのナゲットパッケージディレクトリの中にある現在のファイルの場所には何かがあります。 projファイルがパッケージの "build"ディレクトリにある場合、nugetパッケージのディレクトリは "$(MSBuildThisFileDirectory).."であり、そこから何かを見つけることができます。 –
今私はそれを得た。あなたは天才です!ありがとう、たくさんの男! ;) – Toxantron