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

时间:2014-11-03 17:20:41

标签: msbuild nuget

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

我想知道是否有正确的方法来引用AnotherPkg的工具路径并使其与版本无关。例如,我希望软件包用户能够将AnotherPkg升级到0.1.2,而不必更改软件包中的任何内容。

我有一些代码可以尝试找到AnotherPkg的目录...但它看起来有点不稳定,如果尚未安装AnotherPkg,项目可能无法加载。

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

还有其他提示吗?我希望我能错过某种NuGet功能来获取这些信息。

1 个答案:

答案 0 :(得分:-1)

我试图在我的包中使用的包在Github上。所以我修改了它并提交了拉取请求。 :)