在VisualStudio中发布后执行操作

时间:2016-08-26 12:01:04

标签: visual-studio msbuild publishing

我想在发布完成后执行脚本。要在Visual Studio中开始发布,我右键单击项目 - >发布... 对于发布,我使用 FTP 方法。 我知道我可以在.xproj或.pubxml文件中设置Target但我找不到会调用我的目标的实际事件。 我的.pubxml文件就像这样:

    <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <WebPublishMethod>FTP</WebPublishMethod>
    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <SiteUrlToLaunchAfterPublish>htttp://example.com</SiteUrlToLaunchAfterPublish>
    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
    <ExcludeApp_Data>False</ExcludeApp_Data>
    <PublishFramework>netcoreapp1.0</PublishFramework>
    <UsePowerShell>False</UsePowerShell>
    <publishUrl>ftp://example</publishUrl>
    <DeleteExistingFiles>False</DeleteExistingFiles>
    <FtpPassiveMode>False</FtpPassiveMode>
    <FtpSitePath>myFolder</FtpSitePath>
    <UserName>john</UserName>
    <_SavePWD>False</_SavePWD>
  </PropertyGroup>
  <Target Name="MyTarget">
    <Message Text="Hello..." />
  </Target>
</Project>

我想调用目标MyTarget。我到处都看,但我找不到办法。

1 个答案:

答案 0 :(得分:2)

基于使用FTP方法(VS2015)发布的Web应用程序的详细日志(Diagnostic),最后一个目标是GatherAllFilesToPublish,它在将文件发布到FTP文件夹之前运行。

在GatherAllFilesToPublish之后尝试对目标中的其他内容执行操作。例如(编辑项目文件XXX.csproj):

<Target Name="CustomPostPublishActions" AfterTargets="GatherAllFilesToPublish">
<Message Text="This is custom target" Importance="high" />


</Target>