Tanımlanmış tüm özellikleri (rezerve edilmeyen) yazdıran özel bir görev yazmam gerekiyor. Yani C# kodumda, MSBuild motorunun özellikler listesine erişmek istiyorum ve nasıl yapacağımı bilmiyorum. Lütfen yardım et. .NET 4 KullanılmasıÖzel bir görevi kodlarken MSBuild'in özellikler listesine nasıl erişilir?
5
A
cevap
3
:
using Microsoft.Build.Evaluation;
using Microsoft.Build.Utilities;
namespace MSBuildTasks
{
public class GetAllProperties : Task
{
public override bool Execute()
{
Project project = new Project(BuildEngine.ProjectFileOfTaskNode);
foreach (ProjectProperty evaluatedProperty in project.AllEvaluatedProperties)
{
if (!evaluatedProperty.IsEnvironmentProperty &&
!evaluatedProperty.IsGlobalProperty &&
!evaluatedProperty.IsReservedProperty)
{
string name = evaluatedProperty.Name;
string value = evaluatedProperty.EvaluatedValue;
}
// Do your stuff
}
return true;
}
}
}
6
önceki örnek dosyayı proje kilitlenir. Bu sorunlara neden olabilir. Örneğin, görevi aynı proje dosyasında birkaç kez çağırırsanız. İşte geliştirilmiş kod:
using System.Xml;
using Microsoft.Build.Evaluation;
using Microsoft.Build.Utilities;
namespace MSBuildTasks
{
public class GetAllProperties : Task
{
public override bool Execute()
{
using (XmlReader projectFileReader = XmlReader.Create(BuildEngine.ProjectFileOfTaskNode))
{
Project project = new Project(projectFileReader);
foreach (ProjectProperty property in project.AllEvaluatedProperties)
{
if (property.IsEnvironmentProperty) continue;
if (property.IsGlobalProperty) continue;
if (property.IsReservedProperty) continue;
string propertyName = property.Name;
string propertyValue = property.EvaluatedValue;
// Do your stuff
}
return true;
}
}
}
}
İlgili konular
- 1. groovy: Özellikler dosyasına nasıl erişilir?
- 2. nasıl bir sürecin çocukların görevi (süreç) listesine almak istiyorum
- 3. Yönetici listesine özel bir düğme nasıl ekleyebilirim?
- 4. Özel Özellikler VSTO
- 5. googleapiclient kullanarak android'den youtube videolarının listesine nasıl erişilir?
- 6. JobDSL komut dosyasından Jenkins iş parametrelerinin listesine nasıl erişilir?
- 7. Kerneli kodlarken stdio kullanılabilir mi?
- 8. AlloyUI form oluşturucuya nasıl özel özellikler eklenir?
- 9. Özel Özellikler ile sklearn Pipeline nasıl kullanılır?
- 10. Özel WPF Denetimi'ne Özellikler Ekleme?
- 11. Konuya özel veri: nasıl saklanır ve erişilir?
- 12. Swift'de iOS özel API'lerine nasıl erişilir?
- 13. Webhandler'da genel sınıftaki özel alanlara nasıl erişilir?
- 14. Camunda özel görev listesi - tüm görevi tamamlama
- 15. Görsel stüdyo editör listesine özel bir düzenleyici ekleme
- 16. Gradle görevi için nasıl bir kategori belirleyebilirim?
- 17. Bir java.util.List bir Scala listesine nasıl dönüştürülür
- 18. “pip install” i çağırırken özel görevi çalıştırın
- 19. Enums için özel özellikler tehlikeli midir?
- 20. görevi
- 21. Özel rake görevi capistrano 3 üzerinden nasıl çalıştırılır?
- 22. Bir sayısal özellik nasıl erişilir?
- 23. Bir başvuru başvurusuna nasıl erişilir
- 24. bir iş akışı görevi oluşturma "Geçersiz alan adını" hata
- 25. XmlPeek görevi nasıl kullanılır?
- 26. Gizli bir DB'nin veritabanı şemasına nasıl erişilir?
- 27. Özellikler dosyasında nasıl yazabilirim?
- 28. Makine öğrenimi için özellikler nasıl oluşturulur
- 29. Shibboleth - Özellikler nasıl okunmalı?
- 30. Bazı özellikler nasıl kopyalanamaz?