Pel*_*lle 5 msbuild xcopy msbuild-4.0
我有一个非常简单的构建脚本,如下所示:
<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>
Run Code Online (Sandbox Code Playgroud)
问题是 Bundle 目标,只有%(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" />
Run Code Online (Sandbox Code Playgroud)
现在它可以工作了:)
我设法解决了这个问题。我已经用解决方案更新了问题。
我删除了最后一部分WorkingDirectory =“C:\ Windows \”并将脚本更改为:
<Exec Command="xcopy.exe @(BuildArtifacts) @(Application) /e /EXCLUDE:$(MSBuildProjectDirectory)\files_to_ignore_when_bundling.txt" />
Run Code Online (Sandbox Code Playgroud)
现在它可以工作了:)
| 归档时间: |
|
| 查看次数: |
8465 次 |
| 最近记录: |