在导入的.targets中获取自定义构建任务中的项目

时间:2014-02-13 03:27:15

标签: .net msbuild msbuild-task msbuild-target

在为自定义构建任务创建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使用反射通过某些非公共字段获取信息。但是如果有更开放的方法,我宁愿避免这种情况。

0 个答案:

没有答案