.NET YUI Compressor:如何在同一目录中包含除一个css / js文件以外的所有文件?

时间:2011-07-26 20:06:43

标签: .net msbuild compression yui-compressor

我将YUI Compressor连接到我的MVC 3项目。我有一个带有css文件的文件夹和另一个带有js文件的文件夹。构建时,我想要包含css目录中的所有文件,除了一个。同样适用于js。我怎么能做到这一点?

这是XML:

<Target Name="AfterBuild">
  <CallTarget Targets="Compress" Condition=" '$(Configuration)' == 'Release' " />
</Target>
<Target Name="Compress">
  <ItemGroup>
    <!-- Single files, listed in order of dependency.  Use * for wildcards -->
    <CssFiles Include="$(ProjectDir)\Content\*.css" Exclude="$(ProjectDir)Content\All.css" />
    <JavaScriptFiles Include="$(ProjectDir)\Scripts\*.js" Exclude="$(ProjectDir)Scripts\All.js" />
  </ItemGroup>
  <MakeDir Directories="$(ProjectDir)..\JsCssRelease" />
  <CompressorTask 
     CssFiles="@(CssFiles)" 
     DeleteCssFiles="false" 
     CssOutputFile="$(ProjectDir)..\JsCssRelease\All.css"
     CssCompressionType="YuiStockCompression" 
     JavaScriptFiles="@(JavaScriptFiles)" 
     ObfuscateJavaScript="True" 
     PreserveAllSemicolons="True" 
     DisableOptimizations="False" 
     EncodingType="Default" 
     DeleteJavaScriptFiles="false" 
     LineBreakPosition="-1" 
     JavaScriptOutputFile="$(ProjectDir)..\JsCssRelease\All.js" 
     LoggingType="ALittleBit" 
     ThreadCulture="en-us" 
     IsEvalIgnored="false" />
</Target>

我似乎找不到更多信息了 http://yuicompressor.codeplex.com/ 目前发生的是它包含所有文件,并不排除指定的文件。 谢谢。

1 个答案:

答案 0 :(得分:1)

driushkin的评论是正确的。您在$(ProjectDir)属性中的Include之后有一个额外的斜杠,但在Exclude属性上没有,导致不同的文件名,即使\\而不是\仍然可以访问文件。