为什么对于NuGet程序包中的自定义MSBuild任务无法解决传递依赖关系?

时间:2018-06-26 21:04:48

标签: msbuild nuget

我有一个自定义的MSBuild任务,该任务包含在NuGet包中。程序包的构建目录具有使用该任务的目标文件,因此用户只需添加程序包引用即可执行MSBuild任务。

那部分工作正常。但是,我的自定义任务的程序包依赖关系尚未解决,因此MSBuild引发异常,表明未找到程序集,

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您需要在任务dll文件旁边包括所有依赖项,以便MSBuild可以找到它们。这些依赖关系与正在构建的项目的依赖关系或程序包依赖关系图无关,而只是MSBuild加载dll文件。

我建议看看https://github.com/AArnott/Nerdbank.MSBuildExtension,它是一个NuGet工具包,可帮助构建可在.NET Core和.NET Framework MSBuild(dotnet工具和msbuild.exe )具有有助于隔离依赖项的任务基类,因为您不能加载与已经加载到VS中的程序集冲突或与另一个任务的依赖项冲突的程序集。