我使用VS2017和Web部署。 我有两个解决方案:我们在Azure VM上部署的Web应用程序,以及作为Web应用程序引擎的C#解决方案。
Web应用程序具有引擎的引用,但它也需要在App_Data中使用dll才能工作(我的同事谈论运行时问题)。因此,每次发布时,我都需要手动将dll复制粘贴到VM App_Data目录。
我想自动化这个过程,我尝试了一些解决这个问题的方法:
我寻找一些关于我尚未找到的发布的帮助或文档,或者对于azure Runbook可能有一些技巧。
毫不犹豫地指出错别字,我现在已经累了。
答案 0 :(得分:0)
根据我的理解,您不需要添加Post-build事件脚本。您可以在部署应用程序之前修改*.pubxml
并添加一些MSBuild任务。以下是通过ms部署部署应用程序时复制文件的设置,您可以参考它:
<?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。
的教程进行操作