Visual Studio 2017 Task Runner Explorer 未在发布时运行事件

Posted

技术标签:

【中文标题】Visual Studio 2017 Task Runner Explorer 未在发布时运行事件【英文标题】:Visual Studio 2017 Task Runner Explorer not running events on Publish 【发布时间】:2018-02-02 00:41:39 【问题描述】:

我有一个包含 2 个任务的 gulp 文件 1. 从目录中删除 *.html 文件 2. 拷贝*.html文件到目录

我有 Visual Studio 2017 的 Task Runner Explorer 设置,以便:

在构建运行任务 1 之前 构建运行任务 2 后

如果我从 Visual Studio 2017 的 Task Runner Explorer 运行任务,它们就可以工作

当我执行 Visual Studio 2017 的发布时,Task Runner Explorer 事件没有触发。 我们如何才能让他们在 Publish 上触发?

【问题讨论】:

damianbrady.com.au/2018/02/01/… 【参考方案1】:

不确定,为什么它在发布时不起作用。它总是很特别。

作为替代方案,您可以在发布时明确执行 gulp。为此,请打开您的发布资料 (Properties/PublishProfiles/profile.pubxml) 和 modify it:

<Target Name="BeforeBuild">
   <Exec Command="gulp myTask" WorkingDirectory="$(ProjectDir)" />
</Target>

另外,请确保您已通过 package.json 安装 gulp-cli 或通过运行以下命令(如果尚未安装):

npm install -g gulp-cli

【讨论】:

我一直在尝试类似的解决方案,但是在我的 .csproj 文件中配置了额外的 Target,尝试挂接到 BeforePublish,这样我的 webpack 包将在所有发布配置文件之前以 prod 模式构建。不幸的是,它似乎在发布期间没有触发。我的方法也应该奏效吗? 我没有运气,但是通过从这里扩展一个想法 (codecadwallader.com/2015/03/15/…) 确实让它工作了,我为我的 Exec 操作添加了 Target 作为 CopyAllfilesToSinglefolderForMsDeployDependsOn 规则的依赖项以触发在文件复制之前构建:&lt;CopyAllFilesToSingleFolderForMsdeployDependsOn&gt; $(CopyAllFilesToSingleFolderForMsdeployDependsOn); NpmInstall; NpmBuild; CollectDistFolder; &lt;/CopyAllFilesToSingleFolderForMsdeployDependsOn&gt;

以上是关于Visual Studio 2017 Task Runner Explorer 未在发布时运行事件的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2017更新内容记录

Visual Studio 中的 std::packaged_task 错误?

如何用visual studio code调试javascript

如何共享Visual Studio 2017代码样式和格式?

Visual Studio Task Runner Explorer - ReferenceError: primordials is not defined

Visual Studio 2015和2017 - 仅使用一个快捷方式应用重命名