1

在为自定义构建任务创建 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 目标和道具文件导入项目”中所述。

现在到我的问题。我Task获取正在使用构建的项目文件的路径ProjectFileOfTaskNode。但是当在导入的文件中声明任务时,会返回.targets文件的路径。.targets

有没有办法获取导入.targets文件的项目文件的路径?

看起来好像有一种方法可以通过Microsoft.Build.BackEnd.TaskHost使用反射的一些非公共字段来获取信息。但如果有更开放的方式获得它,我宁愿避免这种情况。

4

0 回答 0