2009-10-28 12 views
9

Napisałem zadanie MSBuild, które korzysta z złożeń innych producentów.Niestandardowe zadanie MSBuild z zależnościami

Kiedy używam tego zadania w moim projekcie, MSBuild narzeka, że ​​nie może załadować zestawów firm trzecich (co nie jest zaskakujące).

Gdzie należy umieścić podzespoły firm trzecich, aby były dostępne dla MSBuild. Próbowałem bez powodzenia dodawać odniesienia do projektów.

Odpowiedz

9

Nie jestem pewien, czy bardzo dobrze wyraziłem mój problem, ale teraz znalazłem rozwiązanie.

W moim pliku .proj, odwołać moje niestandardowe zadania o następującej składni ...

<UsingTask AssemblyFile="..\lib\MyCompany.MSBuild\MyCompany.MSBuild.dll" TaskName="CreateDatabase" /> 

Moim zadaniem CreateDatabase opiera się na różnych zespołów 3rd partii. Jednak niektóre z nich są przywoływane tylko poprzez odbicie, więc nie zostały uwzględnione domyślnie w folderze ".. \ lib \ MyCompany.MSBuild".

Próbowałem uruchomić zadanie, umieszczając wymagane złożenia w tym samym katalogu, co plik .proj wywołujący zadanie.

Jednak powinienem był umieścić złożeń w przywołanym katalogu zadań ".. \ lib \ MyCompany.MSBuild \".

Proste!

1

Można dodać je do GAC (Global Assemby Cache). Działa to tylko wtedy, gdy jest silnie nazywane.

Możesz również upewnić się, że zaznaczyłeś je kopią local = true, gdy dodałeś referencję do projektu.

Powiązane problemy