在为自定义构建任务创建NuGet包时,我想在NuGet包的.targets
文件夹中使用单独的/build/
文件。
<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目标和道具文件导入项目”here中所述。
现在我的问题。我的Task
获取了使用ProjectFileOfTaskNode
构建的项目文件的路径。但是,当在导入的.targets
文件中声明任务时,将返回.targets
文件的路径。
有没有办法获取导入.targets
文件的项目文件的路径?
看起来好像有可能通过Microsoft.Build.BackEnd.TaskHost
使用反射通过某些非公共字段获取信息。但是如果有更开放的方法,我宁愿避免这种情况。