Msbuild 从另一个包引用NuGet包的工具

Msbuild 从另一个包引用NuGet包的工具,msbuild,nuget,Msbuild,Nuget,我有一个NuGet包MyPkg,其中包含一个构建目标,该目标依赖于另一个包中的构建任务。另一个pkg有一个包含该构建任务DLL的工具目录。遵循NuGet行为,DLL安装到\packages\AnotherPkg.0.1.1\tools 我想知道是否有一个适当的方法来引用另一个pkg的工具路径,并使其版本不可知。例如,我希望包用户能够将另一个pkg升级到0.1.2,而不必更改包中的任何内容 我有一些代码可以用来尝试找到另一个PKG的目录。。。但它似乎有点不稳定,如果还没有安装另一个pkg,项目可能

我有一个NuGet包MyPkg,其中包含一个构建目标,该目标依赖于另一个包中的构建任务。另一个pkg有一个包含该构建任务DLL的工具目录。遵循NuGet行为,DLL安装到\packages\AnotherPkg.0.1.1\tools

我想知道是否有一个适当的方法来引用另一个pkg的工具路径,并使其版本不可知。例如,我希望包用户能够将另一个pkg升级到0.1.2,而不必更改包中的任何内容

我有一些代码可以用来尝试找到另一个PKG的目录。。。但它似乎有点不稳定,如果还没有安装另一个pkg,项目可能无法加载

<ItemGroup>  
    <AnotherPkgDll Include="$(SolutionDir)\packages\AnotherPkg.*\tools\AnotherPkg.Tasks.dll" />
</ItemGroup>
<UsingTask AssemblyFile="@(AnotherPkgDll)" TaskName="Whatever" />

还有其他建议吗?我希望我错过了一些获取此信息的NuGet函数。

我试图在包中使用的包位于Github上。所以我修改了它并提交了一个请求:

不要依赖$SolutionDir,如果没有解决方案文件,您将无法在命令行上构建。取而代之的是使用$MSBudidStudio目录…\AANTROPKK.*,并考虑使用一个用户可定制的属性来修复AONOTPKG的版本号,如AnotherPkg。