我觉得我以前已经解决过这个问题,但我不记得是如何解决的。
我有一个看起来像这样的任务文件(CustomTasks.tasks):
<UsingTask AssemblyFile="CustomTasks.dll" TaskName="MyCustomTask"/>
它引用了一个程序集(即 Ionic.Zip.dll)。Ionic.Zip.dll 不在 GAC 中(我不希望它在)。它就在我的 CustomTasks.dll 旁边。
我的 sln 文件有一个名为 MSBuild 的目录,其中包含 CustomTasks.tasks、CustomTasks.dll 和 Ionic.Zip.dll。
我有一个引用任务文件并调用自定义任务的 csproj:
<Import Project="$(ProjectDir)\..\MSBuild\CustomTasks.tasks" />
<MyCustomTask ..... />
在构建时,这会产生:
无法从程序集 ....MyCustomTasks.dll 加载“MyCustomTask”任务。无法加载文件或程序集“Ionic.Zip,......”或其依赖项之一。