如何将特定 App_Data 文件发布到 Azure VM (IIS)

How to publish specific App_Data files to an Azure VM (IIS)

我使用 VS2017 和网络部署。 我有两个解决方案:一个部署在 Azure VM 上的 Web 应用程序,以及一个作为 Web 应用程序引擎的 C# 解决方案。

Web 应用程序引用了引擎,但它还需要 App_Data 中的 dll 才能工作(我的同事谈到了运行时问题)。所以每次发布时,我都需要手动复制粘贴 dll 到 VM App_Data 目录。

我想自动化这个过程,我尝试了一些解决这个问题的方法:

我正在寻找一些我尚未找到的有关发布的帮助或文档,或者可能是 azure runbook 的一些技巧。

不吝指出错别字,我现在很累

据我了解,您不需要添加 Post-build 事件脚本。在部署应用程序之前,您可以修改 *.pubxml 并添加一些 MSBuild 任务。下面是ms deploy部署应用时复制文件的设置,可以参考:

<?xml version="1.0" encoding="utf-8"?>

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  <PropertyGroup>
    <!--****-->
  </PropertyGroup>

  <Target Name="Copy dlls to App_Data" AfterTargets="CopyAllFilesToSingleFolderForMsdeploy">
    <ItemGroup>
      <_FileForCopy Include="$(_PackageTempDir)\bin\ClassLibrary1.dll" />
      <_FileForCopy  Include="$(_PackageTempDir)\bin\Antlr3.Runtime.dll" />
    </ItemGroup>
    <Copy SourceFiles="@(_FileForCopy)" DestinationFolder="$(_PackageTempDir)\App_Data\%(RecursiveDir)" />
  </Target>

</Project>

此外,您可以按照有关 MSBuild Targets, How To: Recursively Copy Files Using the Task 的教程进行操作。