2011-03-02 23 views
11

stworzyłem cel kompilacji w pliku projektu (App.Tests.csproj), który importuje projekt:Projekt MSBuild nie zostanie załadowany, jeśli import się nie powiedzie?

<Import Project ="$(Location)\Special.Tasks"/> 

Zadania te istnieją tylko na naszym serwerze kompilacji, że lokalizacja nie istnieje na nasi programiści pracują stację. Cel budowania będzie zawsze uruchamiany tylko z serwera kompilacji.

Mój problem polega na tym, że kiedy próbuję otworzyć sln (zawierający projekt z celem budowy) na stacji roboczej bez funkcji Special.Tasks, projekt nie zostanie załadowany.

Nie chcę rozpowszechniać funkcji Special.Tasks na każdym stanowisku roboczym.

Czy istnieje sposób przekazania programu MSBuild lub Visual Studio do załadowania, nawet jeśli import się nie powiedzie?

+0

Dzięki za odpowiedź na to! W moim przypadku był to problem, ponieważ mój projekt zależał od pliku .targets dostarczonego przez pakiet nuget, który byłby zainstalowany tylko jako część kompilacji. – Sandy

Odpowiedz

19

Wystarczy dodać warunek do Import target

<Import Project ="$(Location)\Special.Tasks" 
     Condition="Exists('$(Location)\Special.Tasks')"/> 
Powiązane problemy