2011-01-23 1 views

Odpowiedz

55

Możesz teraz skrypty z VS2010 teraz. Wymaga trochę hakowania i nie jest oficjalnie wspierany, ale jest opcją.

W przeciwnym razie użyj zadania Message. Obowiązują normalne reguły dotyczące tworzenia odniesień Properties, Items i Item Metadata (określane również jako batching).

Ten przykład:

<Project DefaultTargets="Build" 
     xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <ItemGroup> 
    <TestItem Include="test1" /> 
    <TestItem Include="test2" /> 
    <TestItem Include="test3" /> 
    </ItemGroup> 
    <PropertyGroup> 
    <TestProperty>Property Value</TestProperty> 
    </PropertyGroup> 

    <Target Name="TestMessage" AfterTargets="Build" > 
    <!--Use $(Property Name) to reference a property--> 
    <Message Text="$(TestProperty)" Importance="high"/> 
    <!--Use @(Item Name) to output a semi-colon separated list of items on one line--> 
    <Message Text="@(TestItem)" Importance="high"/> 
    <!--Use %(Item Name.Metadata Property Name) to call the Message task once for each item.--> 
    <!--This will output each item on a separate line--> 
    <Message Text="%(TestItem.Identity)" Importance="high"/> 
    </Target> 
</Project> 

przyniesie to wyjście:

Property Value 
test1;test2;test3 
test1 
test2 
test3 
+3

Aby ułatwić sobie posługiwanie się odpowiedzią, należy rozważyć dodanie atrybutu "Ważność =" "do każdego z elementów wiadomości. W ten sposób komunikaty będą domyślnie wyświetlane po wywołaniu msbuild lub jeśli będziesz szukał w wynikach kompilacji w VS –

+3

Również, aby szybko nawiązać połączenie, możesz dodać cel, który właśnie zdefiniowałeś w istniejącym csproj i dodać BeforeTargets = "Zbuduj" do celu. Następnie buduj z VS i spójrz na wynik kompilacji. –

+2

Dane wyjściowe będą wyświetlane dokładnie tam, gdzie? W oknie wyjściowym programu Visual Studio (i "Pokaż ujęcie z: Kompilacja")? Ponadto, w jakim pliku to wkładam? Po prostu próbowałem dołączyć to do pliku 'C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Enterprise \ MSBuild \ 15.0 \ Bin \ Microsoft.Common.CurrentVersion.targets', ale nie widzę niczego w wydajność. – jbyrd