Tfs 团队构建目标未执行
我有一个TFS2008版本,需要添加WiX兼容性 当前,构建将执行并编译所有输出,并将其复制到以下目标中的drops位置Tfs 团队构建目标未执行,tfs,msbuild,tfsbuild,Tfs,Msbuild,Tfsbuild,我有一个TFS2008版本,需要添加WiX兼容性 当前,构建将执行并编译所有输出,并将其复制到以下目标中的drops位置 <Target Name="AfterCompile"> .... </Target> 。。。。 我在它的正下方添加了另一个目标,如下所示 <UsingTask TaskName="HeatDirectory" AssemblyFile="$(WixTasksPath)" /> <Target Name="BuildMsi" D
<Target Name="AfterCompile"> .... </Target>
。。。。
我在它的正下方添加了另一个目标,如下所示
<UsingTask TaskName="HeatDirectory" AssemblyFile="$(WixTasksPath)" />
<Target Name="BuildMsi" DependsOnTargets="AfterCompile">
<Message Text="Start harvesting Website files for Wix compliation" />
<HeatDirectory
ToolPath="$(WixToolPath)"
Directory="$(DropLocation)\Latest\x86\Release\_PublishedWebsites\IFMA.MasterPlan.Web"
GenerateGuidsNow="yes"
ComponentGroupName="Web"
OutputFile="$(MSBuildProjectDirectory)\Setup\Product\Fragments\wwwfiles.wxs"
SuppressFragments="yes"
DirectoryRefId="WebRoot"
KeepEmptyDirectories="yes"
PreprocessorVariable="var.WebRoot"
SuppressRegistry="yes"
SuppressRootDirectory="yes"
SuppressCom="yes"
/>
<Message Text="Finished harvesting Website files for Wix compliation" />
</Target>
BuildMsi目标永远不会执行,但AfterCompile目标最终会执行
默认生成目标中未列出BuildMsi
但我认为,因为它依赖于AfterCompile,所以它将在它之后执行
我在这里遗漏了什么?DependsOnTargets列出了在目标运行之前必须执行的目标,它不会强制目标在目标列表运行之后运行 见: 如果您使用的是MSBuild 4.0,则属性是您所需要的: 后目标:可选属性 以分号分隔的目标列表 名字。指定时,表示 此目标应在 指定的一个或多个目标。这 允许项目作者扩展 现有的一套目标 直接修改它们 或者,您也可以使用目标注入,它基本上覆盖了.proj文件中的compiledPendson属性,以便在末尾包含您的目标。您需要在导入公共目标文件后声明此属性,以确保它是该属性的最后一个定义
<PropertyGroup>
<CompileDependsOn>
$(CompileDependsOn);
MyCustomTarget
</CompileDependsOn>
</PropertyGroup>
美元(已编撰);
MyCustomTarget
有关更多详细信息,请参阅。我不确定heat任务是否正确,但我实际上并不关心如何执行目标,然后我可以担心如何将heat任务发送到workDaniel-我添加了一些关于目标注入的信息,您可能可以在本例中使用这些信息。