代码之家  ›  专栏  ›  技术社区  ›  Alconja

使用Web部署项目添加到内置的ExcludeFromBuild ItemGroup

  •  10
  • Alconja  · 技术社区  · 17 年前

    我已将Web部署项目添加到我的解决方案中,以创建Web应用程序的干净部署。这基本上如预期的那样工作。..即构建源代码和;然后将要部署的文件复制到/Release文件夹(不包括源文件和my.svn文件夹等)。

    但现在我想明确排除一些其他文件(为了简单起见,我们只说一个名为somefile.txt的文件)。因此,我将一个项目组添加到wdproj文件中,如下所示:

    <ItemGroup>
        <ExcludeFromBuild Include="somefile.txt" />
    </ItemGroup>
    

    基本上,定义ExcludeFromBuild项组似乎是在覆盖一组内置默认值,而不是添加它们。

    不完全是一个阻碍,但并不理想。..那么,有人知道如何简单地将文件添加到默认的ExcludeFromBuild组中吗?或者,这是使用默认值还是手动排除所有内容,还是在默认构建后删除不需要的文件?

    3 回复  |  直到 17 年前
        1
  •  19
  •   Alconja    17 年前

    好吧,对于任何来找我的人,我想我应该回答我自己的问题。..我没有找到我想要的确切解决方案,所以我只是将我需要手动排除的所有内容添加到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>
    

    基本上排除了所有日志文件、用户/项目文件、svn文件、源代码安全文件等,以及我最初想忽略的自定义文件。

        2
  •  0
  •   Adam Fyles    17 年前

        3
  •  0
  •   Jamie    10 年前

    是的,我知道这是永恒的,但你试过这个吗?

    <ItemGroup>
        <ExcludeFromBuild Include="somefile.txt;$(ExcludeFromBuild)" />
    </ItemGroup>