Jak uzyskać dostęp do bieżącego kontekstu projektu w niestandardowym zadaniu w MSBuild? Początkowo wydawało się, że odwołanie GlobalProjectCollection na ProjectCollection umożliwi dostęp, ale wydaje się, że jest puste, przynajmniej podczas uruchamiania MSBuild z linii poleceń.Jak uzyskać dostęp do bieżącego kontekstu projektu w niestandardowym zadaniu?
mogę obecnie dostać nową instancję projektu w oparciu off bieżącego pliku projektu w następujący sposób:
List projectAssemblies = new List();
using (XmlReader projectFileReader =
XmlReader.Create(this.BuildEngine.ProjectFileOfTaskNode))
{
Project project = new Project(projectFileReader);
foreach (ProjectItem item in project.AllEvaluatedItems)
{
... woo hoo ...
}
}
ale po prostu wydaje się dużo kłopotów. Jak mogę uzyskać dostęp do projektu, z którego wywoływane jest moje zadanie?
Masz rację. Nawet zadanie zawiera odwołania do projektu kontenera, zamiast odwoływania się do jakiegoś obiektu nadrzędnego od wewnątrz. Jako że właśnie to próbuję obecnie odwołać, postaram się wyprowadzać odniesienia w podobny sposób do tego podstawowego zadania. –
bojolais
Co z globalnymi właściwościami? Czy można uzyskać do nich dostęp w ramach zadania? – Irek