Msbuild 针对多个环境单击一次发布(TFS构建)

Msbuild 针对多个环境单击一次发布(TFS构建),msbuild,clickonce,tfsbuild,Msbuild,Clickonce,Tfsbuild,我有一个clickonce应用程序,我试图在同一个构建过程中将其发布到多个目录(每个环境一个目录)。我搞不清楚每件事的时间安排 到目前为止,我已经: <Target Name="PublishForEachEnv"> <Message Text="TEST PublishForEachEnv" /> <Message Text="$(MSBuildProjectFile)" /> <Message Text="$(MSBuildP

我有一个clickonce应用程序,我试图在同一个构建过程中将其发布到多个目录(每个环境一个目录)。我搞不清楚每件事的时间安排

到目前为止,我已经:

<Target Name="PublishForEachEnv">
    <Message Text="TEST PublishForEachEnv" />
    <Message Text="$(MSBuildProjectFile)" />
    <Message Text="$(MSBuildProjectDirectory)" />

    <MSBuild Projects ="$(MSBuildProjectFile)"
             Properties ="PublishDir=$(PublishDir)\dev;"
             Targets="Publish" />

    <MSBuild Projects ="$(MSBuildProjectFile)"
             Properties ="PublishDir=$(PublishDir)\qa;"
             Targets="Publish" />
</Target>

我从csproj文件中将此目标称为:

<Target Name="ClientPublish"
      AfterTargets="Build">

     <CallTarget Targets="PublishForEachEnv" />
</Target>

我已经尝试了多个变量,但最新的错误是: 目标依赖关系图中有一个循环依赖关系,涉及目标“PublishForEachNV”

在线: Targets=“Publish”/>

我能想到的唯一其他方法是为每个环境创建一个csproj文件。我希望有更好的办法