Ajax帐篷:通过项目文件/ MSBuild任务组合时,JS文件复制
-
13-12-2019 - |
题
我一直在尝试在我的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" />
.
我怀疑这是某种类型的错误。
不隶属于 StackOverflow