如何将特定 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 目录。
我想自动化这个过程,我尝试了一些解决这个问题的方法:
- 将批处理脚本放入 Web 应用程序属性 => 构建 => 构建后,以便自动将 dll 从 bin/debug 复制到 App_Data。它创建文件,但是当我发布时,App_data 个文件被忽略
- 从 C:/MyProject/Properties/PublishProfiles/mypp.pubxml 编辑 pubxml 文件,但我没有
找到相关信息或文档以进一步推进。
- 使用 Azure RunBooks,但我没有找到启动它的选项
发布。
我正在寻找一些我尚未找到的有关发布的帮助或文档,或者可能是 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 的教程进行操作。
我使用 VS2017 和网络部署。 我有两个解决方案:一个部署在 Azure VM 上的 Web 应用程序,以及一个作为 Web 应用程序引擎的 C# 解决方案。
Web 应用程序引用了引擎,但它还需要 App_Data 中的 dll 才能工作(我的同事谈到了运行时问题)。所以每次发布时,我都需要手动复制粘贴 dll 到 VM App_Data 目录。
我想自动化这个过程,我尝试了一些解决这个问题的方法:
- 将批处理脚本放入 Web 应用程序属性 => 构建 => 构建后,以便自动将 dll 从 bin/debug 复制到 App_Data。它创建文件,但是当我发布时,App_data 个文件被忽略
- 从 C:/MyProject/Properties/PublishProfiles/mypp.pubxml 编辑 pubxml 文件,但我没有 找到相关信息或文档以进一步推进。
- 使用 Azure RunBooks,但我没有找到启动它的选项 发布。
我正在寻找一些我尚未找到的有关发布的帮助或文档,或者可能是 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 的教程进行操作。