我试图在发布事件之后调用简单的任务。当我说“发布”时,我指的是在Visual Studio中发布,右键单击项目并按下“发布...”。我已经在项目文件中包含(导入)了目标文件,它工作得很好,因为我已经在构建事件上对其进行了测试。我在http://msdn.microsoft.com/en-us/library/ms366724.aspx上发现有一个AfterPublish事件,它应该做我需要的事情,但是它没有。我不确定这是不是一个在Visual Studio中发布时应该触发的事件,有人可以澄清一下这一点。我的问题是,在Visual Studio中发布时如何从目标文件触发任何类型的任务?
我已经在目标文件中尝试过了:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="AfterPublish">
<Message Label="Test"></Message>
<Warning Label="Test"></Warning>
</Target>
</Project>
我使用的是Visual Studio 2010。
编辑:
实际上,我正在寻找在Visual Studio中执行发布操作的任何方法。我也在考虑添加构建事件,但我不知道如何确定它是否正在发布。
编辑:@Alexey Shcherbak感谢您的快速回复。我在我的MSBuild输出中得到了如下结果:
12/10/2012 12:29:40 AM: Done executing task "CallTarget".
12/10/2012 12:29:40 AM: Done building target "PipelinePreDeployCopyAllFilesToOneFolder" in project "PublishTestApp.csproj".
12/10/2012 12:29:40 AM:Done building project "PublishTestApp.csproj".
Deleting existing files...
Publishing folder /...
Publishing folder Account...
Publishing folder bin...
Publishing folder Scripts...
Publishing folder Styles...
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========
========== Publish: 1 succeeded, 0 failed, 0 skipped ==========
因此,我的任务将在PipelinePreDeployCopyAllFilesToOneFolder之后执行,但在实际处理文件之前,我认为发布还没有完成。当然,我确实测试了这一点,所以在MSBuild任务中,我执行了简单的从文本文件读取,该文件应该复制到发布文件夹中,但失败了。
https://stackoverflow.com/questions/13781799
复制相似问题