首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用msbuild复制所有文件和文件夹

使用msbuild复制所有文件和文件夹
EN

Stack Overflow用户
提问于 2008-09-23 05:20:03
回答 10查看 106.2K关注 0票数 103

只是想知道是否有人可以帮助我的一些msbuild脚本,我正在尝试编写。我想做的是使用msbuild将所有文件和子文件夹从一个文件夹复制到另一个文件夹。

代码语言:javascript
复制
{ProjectName}
      |----->Source
      |----->Tools
              |----->Viewer
                       |-----{about 5 sub dirs}

我需要能够做的是将tools文件夹中的所有文件和子文件夹复制到应用程序的debug文件夹中。这是我到目前为止所拥有的代码。

代码语言:javascript
复制
<ItemGroup>
    <Viewer Include="..\$(ApplicationDirectory)\Tools\viewer\**\*.*" />
</ItemGroup>

<Target Name="BeforeBuild">
    <Copy SourceFiles="@(Viewer)" DestinationFolder="@(Viewer->'$(OutputPath)\\Tools')" />
</Target>

构建脚本会运行,但不会复制任何文件或文件夹。

谢谢

EN

回答 10

Stack Overflow用户

发布于 2013-03-31 00:06:47

我也在寻求这方面的帮助。这花了我一段时间,但以下是我所做的工作,效果非常好。

代码语言:javascript
复制
<Target Name="AfterBuild">
    <ItemGroup>
        <ANTLR Include="..\Data\antlrcs\**\*.*" />
    </ItemGroup>
    <Copy SourceFiles="@(ANTLR)" DestinationFolder="$(TargetDir)\%(RecursiveDir)" SkipUnchangedFiles="true" />
</Target>

这会递归地将名为antlrcs的文件夹的内容复制到$(TargetDir)

票数 150
EN

Stack Overflow用户

发布于 2008-09-23 12:35:42

我认为问题可能出在您创建ItemGroup和调用复制任务的方式上。看看这是否有意义:

代码语言:javascript
复制
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
    <PropertyGroup>
        <YourDestinationDirectory>..\SomeDestinationDirectory</YourDestinationDirectory>
        <YourSourceDirectory>..\SomeSourceDirectory</YourSourceDirectory>
    </PropertyGroup>

    <Target Name="BeforeBuild">
        <CreateItem Include="$(YourSourceDirectory)\**\*.*">
            <Output TaskParameter="Include" ItemName="YourFilesToCopy" />
        </CreateItem>

        <Copy SourceFiles="@(YourFilesToCopy)"
                DestinationFiles="@(YourFilesToCopy->'$(YourDestinationDirectory)\%(RecursiveDir)%(Filename)%(Extension)')" />
    </Target>
</Project>
票数 73
EN

Stack Overflow用户

发布于 2010-01-03 09:05:57

我对MSBuild有点陌生,但我发现EXEC任务在这种情况下很方便。我在我的项目中遇到了同样的挑战,这对我来说是有效的,而且要简单得多。如果这不是一个好的实践,请告诉我。

代码语言:javascript
复制
<Target Name="CopyToDeployFolder" DependsOnTargets="CompileWebSite">
    <Exec Command="xcopy.exe  $(OutputDirectory) $(DeploymentDirectory) /e" WorkingDirectory="C:\Windows\" />
</Target>
票数 36
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/119271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档