MSBUILD脚本-这是正确的循环方式吗?
我想在打包应用程序(.net mvc 3)之前运行一个自定义任务,将.less文件编译为.css 我没有很多创建MSBUILD脚本的经验,所以通过在线阅读,我找到了下面的代码。它可以工作,但我觉得应该有一种方法可以让我跳过ItemGroup显式声明,只需指示脚本查找“Skins folder下的任何文件夹”。那有可能吗MSBUILD脚本-这是正确的循环方式吗?,msbuild,msbuild-4.0,msbuild-target,Msbuild,Msbuild 4.0,Msbuild Target,我想在打包应用程序(.net mvc 3)之前运行一个自定义任务,将.less文件编译为.css 我没有很多创建MSBUILD脚本的经验,所以通过在线阅读,我找到了下面的代码。它可以工作,但我觉得应该有一种方法可以让我跳过ItemGroup显式声明,只需指示脚本查找“Skins folder下的任何文件夹”。那有可能吗 <Target Name="CompileLessToCss" BeforeTargets="Package"> <PropertyGroup>
<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)"" />
..\..\Libraries\dotless\dotless.Compiler.exe
内容\皮肤\
区域\移动\内容\皮肤\
\less\main.less
\css\main.min.css
您可以使用构建项目组。大致如下:
<ItemGroup><skins Include=".\Skins\*"></Itemgroup>