我感觉我以前已经修过这个问题,但是我不记得怎么做了。
我有一个任务文件,看起来像这样(CustomTasks.tasks):
<UsingTask AssemblyFile="CustomTasks.dll" TaskName="MyCustomTask"/>
它引用了一个程序集(即Ionic.Zip.dll)。Ionic.Zip.dll不在全局程序集缓存(GAC)中(我也不想让它在那里),它就在我的CustomTasks.dll旁边。
我有一个名为MSBuild的目录,位于我的sln文件的上一级,其中包含CustomTasks.tasks、CustomTasks.dll和Ionic.Zip.dll。
我有一个csproj引用了任务文件并调用了自定义任务:
<Import Project="$(ProjectDir)\..\MSBuild\CustomTasks.tasks" />
<MyCustomTask ..... />
在构建时,这将产生:
无法从程序集...MyCustomTasks.dll中加载“MyCustomTask”任务。无法加载文件或程序集“Ionic.Zip”,或其某个依赖项。