No estoy seguro si expresé mi problema muy bien, pero ahora encontré la solución.
En mi archivo .proj, me refiero a mi tarea personalizada con la siguiente sintaxis ...
<UsingTask AssemblyFile="..\lib\MyCompany.MSBuild\MyCompany.MSBuild.dll" TaskName="CreateDatabase" />
Mi tarea CreateDatabase se basa en diversos montajes tercera partes. Sin embargo, algunos de ellos solo se referencian por reflexión, por lo que no se incluyeron por defecto en la carpeta ".. \ lib \ MyCompany.MSBuild".
He intentado que la tarea funcione al colocar los ensamblados necesarios en el mismo directorio que el archivo .proj que invoca la tarea.
Sin embargo, lo que debería haber estado haciendo era colocar los ensamblados en el directorio de tareas al que se hace referencia ".. \ lib \ MyCompany.MSBuild \".
¡Simple!