Получение проекта в пользовательской задаче сборки в импортированных.targets
При создании пакета NuGet для пользовательской задачи сборки я хотел использовать отдельный .targets
файл в /build/
папка пакета NuGet.
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<UsingTask TaskName="MyTask" AssemblyFile="..\tools\MyTask.dll" />
<Target Name="MyTarget">
<MyTask />
</Target>
</Project>
Чтобы NuGet автоматически импортировал .targets
файл, как описано в разделе "Импорт целей MSBuild и реквизит файлов в проект" здесь.
Теперь к моей проблеме. мой Task
получает путь к файлу проекта, который создается с помощью ProjectFileOfTaskNode
, Но когда задача объявлена в импортированном .targets
файл, путь к .targets
файл возвращается.
Есть ли способ получить путь к файлу проекта, который импортировал .targets
файл?
Выглядело так, как будто возможно был способ получить информацию через некоторые непубличные поля на Microsoft.Build.BackEnd.TaskHost
используя отражение. Но я бы предпочел этого избежать, если есть более открытый способ получить его.