Visual Studio .NET发布 - 如何在生成代码的“发布”之前运行命令

时间:2014-01-06 20:09:22

标签: asp.net visual-studio extjs extjs4 sencha-command

我正在使用Visual Studio 2012并且正在使用JavaScript框架(Ext JS)。我的HomeController基本上重定向到Ext JS使用的索引。它与其他实际使用.NET的Visual Studio项目(通过CORS)进行通信,但这个特定的项目只包含我的JavaScript应用程序。

我想发布这个Visual Studio项目,但有一个问题。与Ext JS一起使用的工具,名为Sencha Command,用于创建JavaScript应用程序的生产版本。它基本上创建了一个独立的构建文件夹,其中包含所有JavaScript脚本的组合和缩小,所需的资源,编译Sass等。它在某些情况下运行得很好,但我不知道如何使它发挥作用在发布时使用Visual Studio很好。

我已经弄清楚如何使用post-build命令运行sencha命令,该命令检查我是否处于调试模式,但我不希望生成的文件夹成为我实际项目的一部分,我也不希望发布尚未编译的代码。我知道如何省略pubxbml文件中的文件夹。但我需要做一些事情,比如将build文件夹移动到发布位置。

有没有遇到过这样的场景?有没有更好的方法来解决这个问题?

这是我目前的pubxml:

<?xml version="1.0" encoding="utf-8"?>
<!--
This file is used by the publish/package process of your Web project. You can customize the behavior of this process
by editing this MSBuild file. In order to learn more about this please visit http://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <WebPublishMethod>FileSystem</WebPublishMethod>
    <SiteUrlToLaunchAfterPublish />
    <publishUrl>C:\Users\TestUser\Desktop\Release</publishUrl>
    <DeleteExistingFiles>False</DeleteExistingFiles>
    <ExcludeFoldersFromDeployment>
      js/ext;js/App
    </ExcludeFoldersFromDeployment>
  </PropertyGroup>
  <Target Name="BeforePublish" BeforeTargets="FileSystemPublish">
    <Exec Command="echo Hello" />
  </Target>
</Project>

注意:我不认为BeforePublish有效。我在那里尝试了许多命令,包括“sencha app build”命令,后来我将其转移到后构建命令。

0 个答案:

没有答案