2012-12-10 78 views
0

我試圖使用一個構建腳本運行dotless.compiler.exe編譯我.LESS文件到.min.css上構建:無點的編譯器退出,代碼爲-1 - MSBuild的

<?xml version="1.0" encoding="utf-8" ?> 
<Project xmlns="http://schemas.microsoft.com/developer/MsBuild/2003"> 
    <!--  
    This MSBuild Script will compile all [*.less] files in the /CSS folder to their [*.min.css] counterparts. 
    --> 
    <ItemGroup> 
    <LessFiles Include="Styles\*.less" /> 
    </ItemGroup> 
    <Target Name="CompileDotlessCss" AfterTargets="AfterBuild"> 
    <ItemGroup> 
     <Binaries Include="*.dll;*.exe"/> 
    </ItemGroup> 

    <!-- Compile dotLess CSS into minified full CSS --> 
    <Exec Command="[MSBuild]\dotless.compiler.exe -m %(LessFiles.FullPath) $([System.String]::Copy('%(LessFiles.FullPath)').Replace('.less','.min.css'))" /> 

    </Target> 
</Project> 

但是,當我建我得到:

The command "[MSBuild]\dotless.compiler.exe -m C:\Source Control\MyProject\MyProject.Web\Styles\main.less C:\Source Control\MyProject\MyProject.Web\Styles\main.min.css" exited with code -1. 

我懷疑它做任何與源代碼控制或僅僅是文件路徑已在「源頭控制」文件夾中的空間其實在我的項目中。

如何在引號中包裝路徑(因爲命令本身在引用中)?

如果它是源控制因素,並且因爲文件被鎖定而失敗(我嘗試使用檢入的文件構建)..我該如何處理這個問題?我顯然希望讓我的項目受到源代碼控制。

回答

1

您可以在MSBuild文件,公司中互換使用""''。對於帶空格的路徑,最壞的情況可能需要XML轉義,如&quot;。爲了更好的輸出超出退出代碼嘗試提高到detailed or diagnostic,可能與[MSBuild]有關,不應該是$()屬性?

相關問題