【问题标题】:Using the Microsoft Ajax Minifier with Web Setup project & Source Control将 Microsoft Ajax Minifier 与 Web 设置项目和源代码控制一起使用
【发布时间】:2010-02-22 15:04:40
【问题描述】:

我刚刚开始研究 Microsoft Ajax Minifer 4.0 与我正在使用的 Visual Studio 2008 Web 应用程序一起使用。事实证明,将它挂接到 .csproj 文件很容易,因此它为所有脚本生成了 .min.js 文件,但是我不知道如何将它与 Web 设置项目和源代码控制集成。

基本上我想做的是将生成的 .min.js 文件包含在 Web 设置项目中,而不将它们包含在源代码管理中,因为:

  1. 必须在构建执行之前检查它们是一件很痛苦的事情(如果它们没有被检查出来,缩小器就无法修改它们)。
  2. 由于它们是作为“构建工件”创建的,因此将它们存储在源代码管理下似乎错误

到目前为止,我设法遇到的唯一选择是通过右键单击 Web 设置项目并选择“添加 > 文件”,然后将 .min.js 文件明确包含为设置项目的一部分,然后让相关文件夹层次结构在“目标机器上的文件系统”中重复,以便我可以将文件强制到正确的位置。这既不优雅也不简单/健壮,因为:

  1. 这需要我手动将每个缩小的 js 文件手动添加到 Web 设置项目中
  2. 在 Web 应用程序项目和 Web 设置项目中维护相关目录结构的副本
  3. 记得将任何新的 js 文件缩小版本添加到 Web 设置项目中

有更好的方法吗?

【问题讨论】:

    标签: asp.net visual-sourcesafe web-setup-project microsoft-ajax-minifier


    【解决方案1】:

    我最终选择的解决方案是在我的项目中包含 minifier DLL 并创建一个处理程序 (.ashx),我已经用它替换了对 .js 文件的所有引用,所以:

    <script src="MyJsFile.js" type="text/javascript"></script>
    

    被替换为

    <script src="Minifier.ashx?file=MyJsFile.js" type="text/javascript"></script>
    

    我的web.config 文件中有一个配置设置,允许我确定脚本文件是否被缩小。

    【讨论】:

      【解决方案2】:

      将 Microsoft Ajax Minifier 与源代码控制结合使用

      Microsoft Ajax Minifier 生成 缩小的 JavaScript 和 CSS 文件 作为构建过程的输出。 为此,我们建议您 准确处理缩小的文件 就像你处理 构建生成的程序集 过程。特别是,我们建议 你不包括缩小的 Visual Studio 项目中的文件 并且您不检查缩小的 文件到源代码管理中。

      如果您将缩小的文件包含在 你的项目,你使用源 控制,然后你会遇到 问题。签出文件时 源代码控制,它们被检查 用他们的只读属性 放。如果您尝试进行构建,则 Microsoft Ajax Minifier 将生成 尝试写入时出错 只读文件。

      来源:Microsoft

      据我了解,这意味着不要将 -min 文件添加到项目中,仅此而已。当 IIS 将构建应用程序时,它将自动创建文件。我认为您必须在 Web 服务器上安装 Microsoft Minifier 4.0。

      【讨论】:

      • @lucian.jp,正如我在问题中提到的,我的目标是一个 Web 设置项目,因此 不包含任何不在 .csproj 文件中的内容。就目前而言,这对我来说不是首发。我也不确定“当 IIS 将构建应用程序时,它将自动创建文件”是什么意思?
      猜你喜欢
      • 2012-02-27
      • 2011-01-20
      • 1970-01-01
      • 2011-07-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多