我有一个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功能来获取这些信息。
答案 0 :(得分:-1)
我试图在我的包中使用的包在Github上。所以我修改了它并提交了拉取请求。 :)