看起来应该相当简单,但我在使用 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/