azure - 如何将额外文件添加到由 Visual Studio 中的 Azure 资源组项目调用的 msbuild 生成的包中

标签 azure msbuild msdeploy azure-resource-manager

因此,我有一个由 Web 项目和 Azure 资源组项目组成的解决方案,非常类似于此处描述的内容:https://blogs.technet.microsoft.com/georgewallace/2015/05/10/deploying-a-website-with-content-through-visual-studio-with-resource-groups/

我遇到的问题是 Web 项目需要在其 bin 目录中包含一些额外的文件才能正常运行。现在,通过 Web 项目本身的正常打包过程,我通过添加自定义目标并 Hook 到 CopyAllFilesToSingleFolderforPackageDependsOn 来完成此操作,例如:

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

  <Target Name="CustomCollectFiles">
    <ItemGroup>
      <_CustomFiles Include="bin\SlimKIA.WebApi.xml" />
      <FilesForPackagingFromProject  Include="%(_CustomFiles.Identity)">
        <DestinationRelativePath>bin\SlimKIA.WebApi.xml</DestinationRelativePath>
      </FilesForPackagingFromProject>
    </ItemGroup>
  </Target>

当我右键单击网络项目并对文件系统说“发布”时,我的文件就会被包含在内。一切都很好。

问题是当我从部署项目进行部署时不会发生这种情况。我有一个 MsDeploy 资源,它可以做自己的事情。我需要以某种方式在这个项目中执行我的 CustomCollectFiles。

有人对如何实现这一目标有任何想法吗?如果没有这个,我将无法自动将我的解决方案部署到 Azure。

谢谢!

最佳答案

一时兴起,我最终这样做了:

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

关键是CopyAllFilesToSingleFolderForMsdeployDependsOn,而不是CopyAllFilesToSingleFolderForPackageDependsOn。只需更改此即可达到目的,我猜这触发了 msdeploy 以包含自定义目标。

关于azure - 如何将额外文件添加到由 Visual Studio 中的 Azure 资源组项目调用的 msbuild 生成的包中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40293668/

相关文章:

sql - 带 sql 脚本的 MSDeploy

azure - 使用 ARM 更新现有 Web 应用程序部署的最佳实践是什么?

Azure Devops Sprint Burndown 配置

使用模板时Azure管道扩展每个参数

Azure 数据工厂出站数据传输定价

windows - 文件路径中两个星号在一起是什么意思?

visual-studio-2012 - MSBuild 错误 CS2001 源文件找不到

MSBuild 更新 csproj 中的属性

azure - Autorest 无法生成任何内容,并且没有错误

jenkins - MSDeploy WMSVC 无法在 .net 环境中工作