günlüğüne bir değişken değeri nasıl çıkış yapılır MSBuild'den günlüğe bir değişken değeri nasıl çıktılanır?MSBuild
Bir MSBuild komut dosyasını hata ayıklamaya çalışıyorum ve günlüğe bir değişken değeri vermek istiyorum.
günlüğüne bir değişken değeri nasıl çıkış yapılır MSBuild'den günlüğe bir değişken değeri nasıl çıktılanır?MSBuild
Bir MSBuild komut dosyasını hata ayıklamaya çalışıyorum ve günlüğe bir değişken değeri vermek istiyorum.
Şimdi VS2010 ile debug msbuild komut dosyalarını kullanabilirsiniz. Bazı korsanlık gerektirir ve resmi olarak desteklenmez, ancak bu bir seçenektir.
Aksi takdirde Message
görevini kullanın. Properties
, Items
ve Item Metadata
referanslarına yönelik normal kurallar (batching olarak da adlandırılır) geçerlidir.
Bu örnek:
<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>
bu çıktıyı üretecek:
Property Value
test1;test2;test3
test1
test2
test3
Cevabınızı daha kolay kullanabilmek için, Mesaj öğelerinin her birine Önem derecesi = "yüksek" öznitelik eklemeyi düşünün. Bu şekilde msbuild çağrıldığında veya varsayılan olarak VS –
sürümüne girdiğinizde iletiler varsayılan olarak gösterilecektir. Ayrıca, bu hızlıca, varolan bir csproj'da tanımladığınız Hedefi eklemek ve bir BeforeTargets = eklemek isteyebilirsiniz. Hedefe "Build". Sonra sadece VS ile inşa et ve yapım çıktısına bak. –
Çıktı tam olarak nerede görünecek? Visual Studio'nun Çıktı penceresinde (ve "Ouput'u Göster: Oluştur")? Ayrıca bunu hangi dosyaya koydum? Bunu sadece 'C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Enterprise \ MSBuild \ 15.0 \ Bin \ Microsoft.Common.CurrentVersion.targets' dosyasına eklemeyi denedim, ancak hiçbir şey göremiyorum çıktı. – jbyrd
bu soru sorununuzu çözmeye yardımcı olabileceğini düşünüyorum. http://stackoverflow.com/questions/2968077/trouble-with-outputting-msbuild-variables – awright18