PSake 执行 MSBuild 命令时出错
我的解决方案中有 3 个项目, 一个 WPFApplication 和 2 个 ClassLibrary 项目 当我构建解决方案时,我收到以下错误......
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\Framework\v4.0.30319\Microsoft.Common.targets(2868,9): 错误 MSB3023:未指定复制目标。请提供“DestinationFiles”或“DestinationFolder”。 [D:\Nusrofe\GrokPSake2\ClassLibrary1\ClassLibrary1.csproj]
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(3471,9): 错误 MSB4044:未给出“FindUnderPath”任务 所需参数“Path”的值。 [D:\Nusrofe\GrokPSake2\ClassLibrary1\ClassLibrary1.csproj]
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(2868,9): 错误 MSB3023:未指定复制目标。普莱 ase 提供“DestinationFiles”或“DestinationFolder”。 [D:\Nusrofe\GrokPSake2\ClassLibrary2\ClassLibrary2.csproj]
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(3471,9): 错误 MSB4044:未给出“FindUnderPath”任务 所需参数“Path”的值。 [D:\Nusrofe\GrokPSake2\ClassLibrary2\ClassLibrary2.csproj]
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(3471,9): 错误 MSB4044:未给出“FindUnderPath”任务 所需参数“Path”的值。 [D:\Nusrofe\GrokPSake2\WpfApp\WpfApp.csproj]
build2.ps1:执行命令时出错:msbuild $sln_file “/p:OutDir=$build_artifacts_dir”/p:Configuration=Release /v:quiet
谢谢 -- 科尔库
I have 3 projects in the solution,
A WPFApplication and 2 ClassLibrary projects
When i build the Solution i get error below..
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 }
}
i get the following error's -- what am i doing wrong?
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(2868,9):
error MSB3023: No destination specified for Copy. Please supply either "DestinationFiles" or "DestinationFolder". [D:\Nusrofe\GrokPSake2\ClassLibrary1\ClassLibrary1.csproj]C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(3471,9):
error MSB4044: The "FindUnderPath" task was not given
a value for the required parameter "Path". [D:\Nusrofe\GrokPSake2\ClassLibrary1\ClassLibrary1.csproj]C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(2868,9):
error MSB3023: No destination specified for Copy. Ple
ase supply either "DestinationFiles" or "DestinationFolder". [D:\Nusrofe\GrokPSake2\ClassLibrary2\ClassLibrary2.csproj]C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(3471,9):
error MSB4044: The "FindUnderPath" task was not given
a value for the required parameter "Path". [D:\Nusrofe\GrokPSake2\ClassLibrary2\ClassLibrary2.csproj]C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(3471,9):
error MSB4044: The "FindUnderPath" task was not given
a value for the required parameter "Path". [D:\Nusrofe\GrokPSake2\WpfApp\WpfApp.csproj]
build2.ps1:Error executing command: msbuild $sln_file
"/p:OutDir=$build_artifacts_dir" /p:Configuration=Release /v:quiet
Thanks --
Corku
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看起来在您的
Compile
任务中,您的$buildartifacts_dir
变量中有一个杂散的下划线。 MSBuild 可能不知道该怎么做,因为本质上您正在为 OutDir 传递一个空位置。Looks like in your
Compile
task you have a stray underscore in your$buildartifacts_dir
variable. MSBuild probably doesn't know what to do because essentially you are passing it an empty location for the OutDir.