在WebDeploy期间忽略删除文件

Ant*_*haw 8 teamcity visual-studio-2010 app-offline.htm webdeploy

我正在使用TeamCity通过msbuild和WebDeploy构建和部署MVC应用程序集合.

在我的解决方案构建/部署之前的步骤中,我将app_offline.htm复制到deploy目录,以便我可以执行SQL更新和其他Web /解决方案管理步骤,包括构建.

WebDeploy中的一个设置是删除未包含在项目中或不需要运行站点的文件.这会每次删除我的app_offline.htm文件.虽然我理解这是一种理想的结果,但有没有办法在部署时排除此文件从部署目录中删除?

我尝试使用ExcludeFromPackageFiles选项添加一个ItemGroup,但没有结果.

sna*_*its 0

我遇到了类似的问题,希望将缩小的 javascript 文件保留在部署包中,即使它们不是项目的一部分。

我为此添加了一个自定义的 MSBuild 目标,这对我有用:

<!-- ====== Package the minify files ===== -->

 <PropertyGroup>
  <CopyAllFilesToSingleFolderForPackageDependsOn>
    CustomCollectFiles1;    
    $(CopyAllFilesToSingleFolderForPackageDependsOn);
  </CopyAllFilesToSingleFolderForPackageDependsOn>
 </PropertyGroup>

 <PropertyGroup>
   <AfterAddIisSettingAndFileContentsToSourceManifest>
    MakeEmptyFolders
   </AfterAddIisSettingAndFileContentsToSourceManifest>
 </PropertyGroup>

<Target Name="CustomCollectFiles1">
  <ItemGroup>
   <!-- =====Controls\Javascript folder ==== -->
    <_CustomFilesForRootFolder Include=".\Controls\Javascript\*.min.js">
    <DestinationRelativePath>%(RecursiveDir)%(Filename)%(Extension)    </DestinationRelativePath>
   </_CustomFilesForRootFolder>
  <FilesForPackagingFromProject Include="%(_CustomFilesForRootFolder.Identity)">
    <DestinationRelativePath>.\Controls\Javascript\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
  </FilesForPackagingFromProject>
 </ItemGroup> 
</Target>
Run Code Online (Sandbox Code Playgroud)