2

使用 RMO,我创建了一个 Visual Studio 构建定义。在复制文件步骤中,如果我将内容指定为

**\*.zip

它会创建我编译项目的 zip 文件以及 web.config 文件。我需要在这个 zip 中添加一些额外的配置文件,它们是解决方案级别的文件夹,而不是项目文件夹中。这 3 个文件在预构建事件中被复制到项目文件夹中。所以我不能为这些文件设置 Build Action = Content。

4

1 回答 1

3

您可以将以下代码添加到项目文件中,以在构建期间将额外文件包含在 zip 中:

<Target Name="CustomCollectFiles">
    <ItemGroup>
      <_CustomFiles Include="PathToExtraFile" />
        <FilesForPackagingFromProject Include="%(_CustomFiles.Identity)">
          <DestinationRelativePath>%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
        </FilesForPackagingFromProject>
      </ItemGroup>
  </Target>

  <PropertyGroup>
    <CopyAllFilesToSingleFolderForPackageDependsOn>
      CustomCollectFiles;
      $(CopyAllFilesToSingleFolderForPackageDependsOn);
    </CopyAllFilesToSingleFolderForPackageDependsOn>
    <CopyAllFilesToSingleFolderForMsdeployDependsOn>
      CustomCollectFiles;
      $(CopyAllFilesToSingleFolderForPackageDependsOn);
    </CopyAllFilesToSingleFolderForMsdeployDependsOn>
  </PropertyGroup>

有关详细信息,请参阅此链接:使用 Visual Studio 进行 ASP.NET Web 部署:部署额外文件

于 2016-03-22T01:41:28.143 回答