MSBuild不';不显示输入目标消息
我有以下虚拟构建脚本文件: 常见目标MSBuild不';不显示输入目标消息,msbuild,Msbuild,我有以下虚拟构建脚本文件: 常见目标 <?xml version="1.0" encoding="utf-8"?> <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> <Target Name="TargetA"> <Message Text="This is TargetA"/> &
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<Target Name="TargetA">
<Message Text="This is TargetA"/>
</Target>
<Target Name="TargetB">
<Message Text="This is TargetB"/>
</Target>
</Project>
EntryPoint.proj
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<Import Project="Common.targets"/>
<Target Name="EntryPointTarget" DependsOnTargets="TargetA">
<!--But why this message is not shown during build?-->
<Message Text="This is Entry Point Target"/>
</Target>
</Project>
为什么在构建期间不显示EntryPointTarget消息
如果未在命令行上指定目标,且未指定DefaultTarget,则msbuild将执行它看到的第一个目标,在本例中为TargetA。如果您切换TargetA和TargetB,您将看到TargetB首先被执行。如果删除导入并使EntryPointTarget不依赖于任何其他目标,则将执行EntryPointTarget。这些显然不是正确的修复方法,因此:
- 显式指定目标调用msbuild EntryPoint.proj/t:EntryPointTarget
- 通过将
属性添加到DefaultTargets=EntryPointTarget
标记,使其决定执行什么,然后您可以调用Project
,它将执行EntryPointmsbuild EntryPoint.proj