1

アプリケーション (.net mvc 3) をパッケージ化する前に、カスタム タスクを実行して .less ファイルを .css にコンパイルしたいと考えています。

私は MSBUILD スクリプトを作成した経験があまりないので、オンラインで読んで、以下のコードを思いつきました。それは機能しますが、ItemGroup の明示的な宣言をスキップして、スクリプトに「Skins フォルダーの下の任意のフォルダー」を探すように指示する方法が必要だと思います。それはまったく可能ですか?

  <Target Name="CompileLessToCss" BeforeTargets="Package">
  <PropertyGroup>
    <DotLessCompiler>..\..\Libraries\dotless\dotless.Compiler.exe</DotLessCompiler>        
    <!--Skin Paths -->
    <ApplicationSkins>Content\Skins\</ApplicationSkins>
    <MobileSkins>Areas\Mobile\Content\Skins\</MobileSkins>
    <!--Style FileNames -->
    <LessPath>\less\main.less</LessPath>
    <CssPath>\css\main.min.css</CssPath>
  </PropertyGroup>
<ItemGroup>
  <Skins Include="$(ApplicationSkins)Blue"/>
  <Skins Include="$(MobileSkins)Blue"/>
  <Skins Include="$(ApplicationSkins)Red"/>
  <Skins Include="$(MobileSkins)Red"/>
  <Skins Include="$(ApplicationSkins)Yellow"/>
  <Skins Include="$(MobileSkins)Yellow"/>
</ItemGroup>

<!-- Compiling Less Files -->
<Message Text="Compiling Less For Skins: @(Skins)"/>
<Exec Command="$(DotLessCompiler) -m &quot;%(Skins.FullPath)$(LessPath)&quot; &quot;%(Skins.FullPath)$(CssPath)&quot;" />

4

1 に答える 1

0

ワイルドカードを使用してアイテム グループを作成できます。これらの行に沿ったもの:

 <ItemGroup><skins Include=".\Skins\*"></Itemgroup>
于 2013-12-09T19:32:25.870 に答える