2008-10-07 13 views
6

Korzystam z poniższych instrukcji, aby uzyskać listę plików projektu, które należy skompilować. Każdy projekt jest przechowywany w podkatalogu katalogu projektów.Czy istnieje zadanie MSBuild, które wyodrębni ścieżkę z nazwy pliku?

Czy istnieje zadanie, którego można użyć do wyodrębnienia, aby wyodrębnić katalog, w którym znajduje się każdy plik projektu? Wiem, że mogę napisać własne zadanie, aby to zrobić, ale miałem nadzieję, że już istnieje i że po prostu jeszcze go nie znalazłem.

Odpowiedz

5

Jeśli dobrze rozumiem pytanie, nie powinieneś potrzebować zadania - możesz to zrobić przy użyciu dobrze znanych metadanych. Czy to załatwia sprawę?

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5"> 
    <ItemGroup> 
     <dprs Include="c:\projects\**\*.dpr" />  
    </ItemGroup> 

    <Target Name="Default"> 
     <CreateItem Include="%(dprs.RelativeDir)"> 
     <Output ItemName="_ProjectFileLocations" TaskParameter="Include" /> 
     </CreateItem> 
     <Message Text="@(_ProjectFileLocations->'%(FullPath)', '%0D%0A')" /> 
    </Target> 
</Project> 

Z testów, które przeprowadziłem, nie powinien wyświetlać katalogu dwa razy w nowej grupie produktów.

+2

W celach informacyjnych można uzyskać pełną listę metadanych przedmiotu MSBuild pod adresem http://msdn.microsoft.com/en-us/library/ms164313.aspx –

Powiązane problemy