我创建了一个自定义的.targets文件,如下(只是添加了所有在myproj.vcxproj文件要求.targets文件中的常见任务)定制.targets文件不工作
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- *******************************************************************************************
Common tasks
******************************************************************************************* -->
<Target Name="H1">
<Exec Command="del /F/Q @(S_PACK_H1)" />
<RemoveDir Directories="@(D_PACK_H1)" />
</Target>
<Target Name="H2">
<Exec Command="del /F/Q @(S_PACK_H2)" />
<RemoveDir Directories="@(D_PACK_H2)" />
</Target>
<Target Name="H11">
<Exec Command="del /F/Q @(S_PACK_H11)" />
<RemoveDir Directories="@(D_PACK_H11)" />
</Target>
</Project>
所有宏/阵列状S_PACK_H1,D_PACK_H11在myproj.vcxproj文件中定义之后,我在myproj.vcxproj文件,如下
<Import Project="C:\Program Files\MSBuild\MyCompany\Mycustom.targets" />
导入此,当我用下面的CMD
的MSBuild myproj.vcxpr OJ /吨:H11
它提供了一个错误“错误MSB4057:目标‘H11
’不会在项目存在”,但如果我有.vcxproj文件,而不是.targets相同的任务列表文件然后它工作正常。
我可以在.vcxproj文件中定义宏并在.targets文件中使用它们吗? MSBuild能够获得该定义/值吗?如果没有,那么我该如何去使用/传递在.targets文件中定义的vxcproj文件中的东西?
为什么msbuild在.targets文件中无法看到我的任务Vs .proj文件?我还需要做什么?