如何在使用MSBUILD复制时排除某些文件夹
看起来应该相当简单,但在使用MSBUILD复制任务时排除文件夹时遇到问题。以下是我正在做的:如何在使用MSBUILD复制时排除某些文件夹,msbuild,build,copy,Msbuild,Build,Copy,看起来应该相当简单,但在使用MSBUILD复制任务时排除文件夹时遇到问题。以下是我正在做的: <ItemGroup> <Compile Include="$(_SolutionPath)$(_SolutionName)" /> <ProjectFiles Include="..\$(_WebDirectory)\*.csproj" Exclude="*.master.csproj"/> <Exclud
<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)"/>
在itemgroup部分,我有一个ExcludeFromBuild项,它列出了我要排除的文件类型。除此之外,我想排除“obj”和“Web引用”文件夹
我怎样才能做到这一点?如果需要更多信息,请告诉我。多谢各位
shahzad您需要为此创建一个新的项目组。我在下面添加了
AppFolderWithExclutions
:
<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>
(未测试;可能包括语法输入错误)此处与原始问题的实际区别是什么?@chwi Adding
AppFolderWithExclusions
是区别。编辑我的答案以澄清。在AppFolder中,它不应该是Exclude=“@(ExcludeFromBuild)”吗?[@]而不是[$]。测试后发现这个。