gpt4 book ai didi

visual-studio-2010 - 在 Visual Studio 中发布事件之后

转载 作者:行者123 更新时间:2023-12-02 17:24:53 25 4
gpt4 key购买 nike

我试图在发布事件后调用简单的任务。当我说“发布”时,我的意思是在 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 任务中,我正在执行从应该复制到 Publish 文件夹中的文本文件的简单读取,但它失败了。

最佳答案

更新:似乎在 VS 2019 和 .NET 5 中您现在可以使用 Publish 目标。

<Target Name="Test" AfterTargets="Publish">
<Exec Command="blablabla" />
</Target>
<小时/>

这是我的旧答案,也有效:

<小时/>

MS 已确认,发布到文件系统时此后他们没有任何要启动的目标。

"We currently do not support executing custom targets after publishfrom VS for the file system protocol."

引自this SO question

所以我们最终做的是:

  1. use AfterTargets="CopyAllFilesToSingleFolderForPackage"(在将文件复制到发布位置之前运行)
  2. 执行bat文件
  3. bat 文件以 timeout 10 命令开始(等待 10 秒) - 由于缺乏更好的方法。

重要提示:此 bat 文件必须异步执行,以便发布过程在启动后继续进行,请参阅 this SO answer关于如何做到这一点。

关于visual-studio-2010 - 在 Visual Studio 中发布事件之后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13781799/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com