msbuild - 如何在使用 MSBUILD 复制时排除某些文件夹

标签 msbuild build copy

看起来应该相当简单,但我在使用 MSBUILD 复制任务时无法排除文件夹。这就是我正在做的事情:

   <ItemGroup>
        <Compile Include="$(_SolutionPath)$(_SolutionName)" />
        <ProjectFiles Include="..\$(_WebDirectory)\*.csproj" Exclude="*.master.csproj"/>
        <ExcludeFromBuild Include="..\$(_WebDirectory)\**\*.cs; ..\$(_WebDirectory)\**\*.sln; ..\$(_WebDirectory)\**\*.csproj; ..\$(_WebDirectory)\Web References; ..\$(_WebDirectory)\obj;"/>
        <AppFolder Include="..\$(_WebDirectory)\**\*.*" Exclude="$(ExcludeFromBuild)"/>
    </ItemGroup>

<Copy SourceFiles="@(AppFolder)" DestinationFiles="c:\test\%(RecursiveDir)%(FileName)%(Extension)"/>

在项目组部分中,我有一个 ExcludeFromBuild 项目,其中列出了我要排除的文件类型。最重要的是,我想排除“obj”和“Web References”文件夹。

我怎样才能做到这一点?如果需要更多信息,请告诉我。谢谢。

沙赫扎德

最佳答案

您需要为此创建一个新的 ItemGroup。我在下面添加了 AppFolderWithExclusions:

<ItemGroup>
     <Compile Include="$(_SolutionPath)$(_SolutionName)" />
     <ProjectFiles Include="..\$(_WebDirectory)\*.csproj" Exclude="*.master.csproj"/>
     <ExcludeFromBuild Include="..\$(_WebDirectory)\**\*.cs; ..\$(_WebDirectory)\**\*.sln; ..\$(_WebDirectory)\**\*.csproj; ..\$(_WebDirectory)\Web References; ..\$(_WebDirectory)\obj;"/>
     <AppFolder Include="..\$(_WebDirectory)\**\*.*" Exclude="$(ExcludeFromBuild)"/>

     <AppFolderWithExclusions Include="@(AppFolder)" Exclude="obj\**\*.*;Web References\**\*.*" />
 </ItemGroup>

(未经测试;可能包含语法拼写错误)

关于msbuild - 如何在使用 MSBUILD 复制时排除某些文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4619102/

相关文章:

powershell - Powershell 和 PSake 从哪里执行 msbuild?

c# - .NET 构建和部署

java - 如何减少maven构建的时间

python - 从外部程序粘贴到 Excel 文件中

reporting-services - 如何使用 TeamCity 自动部署/构建 SSAS 和 SSRS 解决方案

MSBUILD 为解决方案中的所有项目生成 xml 文档文件(不涉及项目)

ios - 带有 "Release: Fastest, Smallest [-Os]"的 Xcode 8 有一些奇怪的问题,并且在某些情况下无法正常运行

javascript - 为什么我要同时使用 TypeScript 和 Babel?

file - 如何在 Windows 8.1 中 move 路径名 > 255 个字符的文件夹/文件?

python - 如何将 Postgres 结果集作为 CSV 从远程数据库连接导出到本地机器?