4

我将 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/上找不到更多信息, 目前发生的是它包括所有文件并且不排除指定的文件。谢谢你。

4

1 回答 1

1

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

于 2011-07-26T21:08:53.733 回答