【问题标题】:How can we include the files created by ajaxmin in the msdeploy package created by MSBuild我们如何将ajaxmin创建的文件包含在MSBuild创建的msdeploy包中
【发布时间】:2011-05-07 20:46:55
【问题描述】:

我们使用 ajaxmin 从我们所有的 .js 文件创建 .min.js 文件。我们已经编辑了项目的 .csproj 文件并添加了以下内容:

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\MicrosoftAjax\ajaxmin.tasks" />
<Target Name="AfterBuild">
    <ItemGroup>
        <JS Include="**\*.js" Exclude="**\*.min.js" />
    </ItemGroup>
    <AjaxMin JsSourceFiles="@(JS)" JsSourceExtensionPattern="\.js$" JsTargetExtension=".min.js" />
</Target>

当我们在工作站上构建站点并且可以在站点中使用 .min.js 文件时,这非常有用。当我们在此任务中检查此项目时,该项目也在 msbuild 服务器上运行,但 ajaxmin 生成的 .min.js 文件不会复制到我们使用的 tfs2010 Rolling Build 的放置位置。这些 .min.js 文件也不包含在我们在此滚动构建期间创建的包中,并且也被复制到放置位置。只有项目中包含的文件用于打包并复制到放置位置。

我们用来创建包的 MSBuild 参数如下:

/p:DeployOnBuild=True /p:DeployTarget=MsDeployPublish /p:MSDeployPublishMethod=InProc /p:CreatePackageOnPublish=True /p:MSDeployServiceURL=localhost

我尝试了几件事,例如添加一个额外的构建任务以将所有 .min.js 文件复制到创建包的位置。我还尝试了以下 url http://sedodream.com/2010/05/01/WebDeploymentToolMSDeployBuildPackageIncludingExtraFilesOrExcludingSpecificFiles.aspx 在我的 .csproj 文件中包含以下文件:

<PropertyGroup>
    <CopyAllFilesToSingleFolderForPackageDependsOn>
      CustomCollectFiles;
      $(CopyAllFilesToSingleFolderForPackageDependsOn);
    </CopyAllFilesToSingleFolderForPackageDependsOn>
</PropertyGroup>
<Target Name="CustomCollectFiles">
    <ItemGroup>
        <_CustomFiles Include="**\*.min.js" />
        <FilesForPackagingFromProject  Include="%(_CustomFiles.Identity)">
            <DestinationRelativePath>%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
        </FilesForPackagingFromProject>
    </ItemGroup>
</Target>

是否还有其他人也有这个问题,或者是否有人知道如何在 msdeploy 包中包含 *.min.js 文件并将文件复制到放置位置?

【问题讨论】:

    标签: tfs msbuild ajaxmin microsoft-ajax-minifier


    【解决方案1】:

    您错过了目标目录,因此您所要做的就是为脚本文件夹、源和目标中的每个脚本创建对文件夹,以确保您没有根据您项目的脚本文件夹结构,我写文章的任何方式以及如何执行此操作,您也可以下载执行此操作的项目,http://mohamedradwan.wordpress.com/2010/11/12/how-to-include-minify-files-or-custome-files-with-web-pagckage-or-ms-deploy-package/

    谢谢

    【讨论】:

    • 感谢您的发帖。这些文件现在包含在包中。
    猜你喜欢
    • 2015-07-11
    • 1970-01-01
    • 1970-01-01
    • 2013-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-27
    相关资源
    最近更新 更多