我在我的解决方案中添加了一个Web部署项目,以创建我的Web应用程序的干净部署。这主要是按预期工作...即构建源和&然后将要部署的文件复制到/ Release文件夹(并排除源文件和我的.svn文件夹等内容)。
但是现在我想明确地排除其他一些文件(为了简单起见,我们只说一个名为somefile.txt的文件)。因此,我将项目组添加到wdproj文件中,如下所示:
<ItemGroup>
<ExcludeFromBuild Include="somefile.txt" />
</ItemGroup>
这确实排除了所请求的特定文件,但现在不再排除默认排除的文件。具体来说,现在我的所有svn文件都在Release文件夹&amp;还有一个Source文件夹,位于同一级别,其中包含所有源代码。
基本上,似乎定义ExcludeFromBuild项目组会覆盖一些内置默认值,而不是添加它们。
不完全是一个显示停止,但不理想...那么,有没有人知道如何简单地将文件添加到默认的ExcludeFromBuild组?或者是使用默认值Vs的情况。手动排除所有东西。删除默认构建后没有的文件?
答案 0 :(得分:19)
对于那些来看的人来说,我认为我应该回答我自己的问题...我找不到我想要的确切解决方案,所以我只是将我需要的所有内容手动排除到ExcludeFromBuild ItemGroup(模仿)默认选项似乎做什么&amp;然后也排除我的特定文件)。我的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>
基本上排除所有日志文件,用户/项目文件,svn文件,源安全文件等以及我想首先忽略的自定义文件。
答案 1 :(得分:0)
我不确定这是否有帮助,但该命令有一个Exclude属性,您可以覆盖复制文件的目标,并用于包含/排除您需要的内容。
答案 2 :(得分:0)
是的,我知道这已经很久了,但你试过这个吗?
<ItemGroup>
<ExcludeFromBuild Include="somefile.txt;$(ExcludeFromBuild)" />
</ItemGroup>