我一直在尝试在我的MVC3项目上工作一段时间,尝试相当一些不同的压缩机和方法。我终于通过我的项目文件中的MSBuild任务使用Microsoft Ajax帐篷。我只是到目前为止我的配置,但我遇到了立即绊脚石;当我缩小并将我的js脚本结合到一个文件(使用下面的任务定义)时,我的组合文件始终包含每个脚本的两个缩小副本。

我删除了我添加的所有其他复杂的MSBuild任务,删除了所有JS脚本,而且它仍在发生。以下标记是我手动修改的项目文件的唯一部分:

<UsingTask TaskName="AjaxMin" AssemblyFile="$(MSBuildProjectDirectory)\..\_Build\AjaxMinTask.dll" />
<Target Name="AfterBuild">
    <ItemGroup>
        <JsFiles Include="**\res\js\libs\jquery.js" />
    </ItemGroup>
    <AjaxMin Switches="-global:jQuery,$" JsSourceFiles="@(JsFiles)" JsCombinedFileName="Combined.min.js" />
</Target>
.

组合。在我的Web项目的根目录(按预期)中创建了组合。它包含两个jQuery.js文件的缩小副本。

我正在使用Microsoft Visual Studio Ultimate 2012 RC(版本11.0.50706.0 QRELRC 7月,2012年7月)和引用“Ajaxmintask.dll”文件是这里

现在,这是最奇怪的事情。此外,我还在VS 2010和VS 2012中创建了全新的MVC3项目,并将其复制并粘贴到他们的项目文件中 - 仅将路径更改为AjaxMintask.dll(使用与破损项目相同)。 jQuery文件的路径(\ scripts \ jQuery..js),以及 它们完全精细

不幸的是,我不能粘贴项目文件,因为堆栈溢出太长,所以我用原来的jQuery文件拉链,我试图缩小/组合,结果是“缩小的”文件,以及ajaxmin装配布我正在使用:

[URL redacted]

或者,我对任何其他建议的方法都非常开放,允许我在Visual Studio 2012中在Visual Studio 2012中建立释放模式时缩小/组合,使用.NET 4.0和MVC 3。

有帮助吗?

解决方案

嗯,这是一个奇怪的gotcha ......我设法通过将“js”目录更改为另一个名称(“javascript”):

<JsFiles Include="**\res\javascript\libs\jquery.js" />
.

或从路径开头删除“** \”:

<JsFiles Include="res\js\libs\jquery.js" />
.

我怀疑这是某种类型的错误。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top