NuGet経由で任意のプロジェクトに取り込まれたアセンブリ内でカスタムタスクを実装するために作成したカスタムMSBuildターゲットがあります。また、ターゲットファイルは、カスタムターゲットおよび小道具のNuGet規則に従って、ビルドフォルダの下にある同じNuGetパッケージを介して配信されます。以下は、カスタムターゲットアセンブリのDLLを解決しようとした方法です。カスタムMSBuildタスクでNuGetパッケージ経由でインストールされたアセンブリを参照するには?
<UsingTask
TaskName="TfsVersionTask"
AssemblyFile="$(SolutionDir)\packages\MyPackage.1.0.0.0\lib\MyProjectReferencedAssembly.dll"/>
問題は、私は$(ProjectDir)
または$(SolutionDir)
を使用している場合、私はこのプロジェクトは、ソリューションの一部として、またはパッケージフォルダが存在する可能性があるかどうかに構築されているかどうかの仮定を作ってるんだということです。 $(NuGetPackagesDir)
の行に沿った変数などの代替案はありますか?