MSbuild为特定项目运行特定目标

时间:2016-10-28 15:22:02

标签: msbuild

我在解决方案默认目标中的3个项目中使用以下代码设置为 PublishMe

<Target Name="PublishMe" DependsOnTargets="PipelinePreDeployCopyAllFilesToOneFolder">
    <Error Condition="'$(PublishDestination)'==''" Text="The PublishDestination property must be set to the intended publishing destination." />
    <MakeDir Condition="!Exists($(PublishDestination))" Directories="$(PublishDestination)" />
    <ItemGroup>
      <PublishFiles Include="$(_PackageTempDir)\**\*.*" />
    </ItemGroup>
    <Copy SourceFiles="@(PublishFiles)" DestinationFiles="@(PublishFiles->'$(PublishDestination)\%(RecursiveDir)%(Filename)%(Extension)')" SkipUnchangedFiles="True" />
</Target>

如果我运行msbuild它会按预期编译和发布,问题是我无法再从VS构建它,我有错误 projectname.dll

如果msbuild正在进行构建,是否可以更改默认构建目标?

我尝试了/ t:ProjectName:target; ProjectName2:target,但由于某种原因它无法使用自定义目标。

有没有办法可以从msbuild控制台指定param来运行PublishMe目标,如果不存在则运行简单构建?

1 个答案:

答案 0 :(得分:1)

您可以使用以下命令

 msbuild projectname /t:targetname.

另请查看以下链接以获取更多信息

Building a solution file using msbuild