2010-07-21 110 views
1

我在解決3個項目, 一個WPFApplication和2 ClassLibrary項目 當我建立的解決方案,我得到下面的錯誤..PSake錯誤執行的MSBuild命令

properties { 
    $base_dir = resolve-path . 
    $build_dir = "$base_dir\build" 
    $buildartifacts_dir = "$build_dir\BuildArtifacts" 
    $sln_file = "$base_dir\Hello.sln" 
} 

task default -depends Compile 

task Clean { 
    Write-Host "Cleaning solution" -ForegroundColor Green 
    remove-item -force -recurse $buildartifacts_dir -ErrorAction 
SilentlyContinue 
} 

task Init -depends Clean { 
    Write-Host "Creating BuildArtifacts directory" -ForegroundColor Green 
    new-item $buildartifacts_dir -itemType directory 
} 


task Compile -depend Init { 
    Write-Host "Compiling ---" $sln_file -ForegroundColor Green 
    Exec { msbuild $sln_file "/p:OutDir=$build_artifacts_dir" 
/p:Configuration=Release /v:quiet } 

} 

我得到以下錯誤的 - 什麼我做錯了嗎?

C:\ WINDOWS \ Microsoft.NET \框架\ v4.0.30319 \ Microsoft.Common.targets(2868,9): 錯誤MSB3023:沒有爲複製指定的目的地。請提供「DestinationFiles」或「DestinationFolder」。 [d:\ Nusrofe \ GrokPSake2 \ ClassLibrary1的\ ClassLibrary1.csproj]

C:\的Windows \ Microsoft.NET \框架\ v4.0.30319 \ Microsoft.Common.targets(3471,9): 錯誤MSB4044:在「 FindUnderPath「任務沒有得到 所需參數」路徑「的值。 [d:\ Nusrofe \ GrokPSake2 \ ClassLibrary1的\ ClassLibrary1.csproj]

C:\的Windows \ Microsoft.NET \框架\ v4.0.30319 \ Microsoft.Common.targets(2868,9): 錯誤MSB3023:未有目的地指定爲複製。 Ple ase提供「DestinationFiles」或「DestinationFolder」。 [d:\ Nusrofe \ GrokPSake2 \ ClassLibrary2 \ ClassLibrary2.csproj]

C:\的Windows \ Microsoft.NET \框架\ v4.0.30319 \ Microsoft.Common.targets(3471,9): 錯誤MSB4044:在「 FindUnderPath「任務沒有得到 所需參數」路徑「的值。 [d:\ Nusrofe \ GrokPSake2 \ ClassLibrary2 \ ClassLibrary2.csproj]

C:\的Windows \ Microsoft.NET \框架\ v4.0.30319 \ Microsoft.Common.targets(3471,9): 錯誤MSB4044:在「 FindUnderPath「任務沒有得到 所需參數」路徑「的值。 [d:\ Nusrofe \ GrokPSake2 \ WpfApp \ WpfApp.csproj]


build2.ps1:錯誤執行命令:$的msbuild sln_file 「/ P:OUTDIR = $ build_artifacts_dir」/ P:配置=發佈/ v:安靜

謝謝 - Corku

回答

0

看起來像你的Compile任務你有你的$buildartifacts_dir v A流浪下劃線良莠不齊。 MSBuild可能不知道該怎麼做,因爲基本上你會爲OutDir傳遞一個空的位置。