我有一個非常簡單的構建腳本,看起來像這樣:XCOPY用的MSBuild
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0" DefaultTargets="Bundle">
<ItemGroup>
<BuildArtifacts Include="..\_buildartifacts" />
<Application Include="..\_application" />
</ItemGroup>
<Target Name="Clean">
<RemoveDir Directories="@(BuildArtifacts)" />
<RemoveDir Directories="@(Application)" />
</Target>
<Target Name="Init" DependsOnTargets="Clean">
<MakeDir Directories="@(BuildArtifacts)" />
<MakeDir Directories="@(Application)" />
</Target>
<Target Name="Bundle" DependsOnTargets="Compile">
<Exec Command="xcopy.exe %(BuildArtifacts.FullPath) %(Application.FullPath) /e /EXCLUDE:$(MSBuildProjectDirectory)\files_to_ignore_when_bundling.txt" WorkingDirectory="C:\Windows\" />
</Target>
的問題是捆綁目標,只有%(BuildArtifacts.FullPath)
被提取,腳本執行時%(BuildArtifacts.FullPath)
被忽略。
命令執行時,看起來是這樣的:
xcopy.exe C:\@Code\blaj_buildartifacts /e /EXCLUDE:C:\@Code\blaj\files_to_ignore_when_bundling.txt" exited with code 4
正如你所看到的,目標路徑是不存在的,如果我硬編碼路徑或只是目標路徑它所有的作品。任何關於我在這裏做錯的建議?
更新 我設法解決這個問題,我刪除了最後一部分WorkingDirectory="C:\Windows\"
而改劇本到這一點:
<Exec Command="xcopy.exe @(BuildArtifacts) @(Application) /e /EXCLUDE:$(MSBuildProjectDirectory)\files_to_ignore_when_bundling.txt" />
,現在它的工作:)
使用內置''任務,而不是xcopy'調用:http://msdn.microsoft.com/en-us/library/3e54c37h.aspx –
skolima