1
我想在打包應用程序(.net mvc 3)之前運行自定義任務以將.less文件編譯爲.css。MSBUILD腳本 - 這是循環的正確方法嗎?
我沒有很多創建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 "%(Skins.FullPath)$(LessPath)" "%(Skins.FullPath)$(CssPath)"" />
謝謝!該劇本現在看起來是「正確的」 – qbantek