我已经在我的解决方案中添加了Web部署项目来创建我的Web应用程序的干净部署.这主要是按预期的方式工作,即构建源和然后将要部署的文件复制到/ Release文件夹(并排除诸如源文件和.svn文件夹等).
但是现在我想明确地排除一些其他文件(为了简单起见,只需说一个名为somefile.txt的文件).因此,我将一个项目组添加到wdproj文件中,如下所示:
<ItemGroup> <ExcludeFromBuild Include="somefile.txt" /> </ItemGroup>
这确实排除了所请求的特定文件,但是现在默认排除的文件不再被排除.具体来说,现在我所有的svn文件都在Release文件夹&还有一个源文件夹与同一级别的所有源.
基本上看来,定义ExcludeFromBuild项目组似乎覆盖了一些内置的默认值,而不是添加它们.
不完全是一个节目停止,但不是理想的…所以,有谁知道如何简单地添加一个文件到默认的ExcludeFromBuild组?或者是使用默认值的情况.手工排除一切在默认构建之后删除不需要的文件?
解决方法
对于任何人来看,我以为我应该回答我自己的问题…我没有找到我正在寻找的确切解决方案,所以我只是添加所有我需要手动排除到ExcludeFromBuild ItemGroup(以模拟什么是默认选项似乎已经做了,然后也排除了我的具体文件).我的ExcludeFromBuild列表最终看起来像这样:
<ItemGroup> <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\somefile.txt" /> <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\obj\**\*.*" /> <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\**\.svn\**\*.*" /> <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\**\.svn\**\*" /> <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\**\*.csproj" /> <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\**\*.scc" /> <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\**\*.user" /> <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\**\*.vspscc" /> <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\**\*.log" /> <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\**\*.svclog" /> </ItemGroup>