簡體   English   中英

如何將特定的App_Data文件發布到Azure VM(IIS)

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

我使用VS2017和Web部署。 我有兩個解決方案:我們在Azure VM上部署的Web應用程序,以及作為Web應用程序引擎的C#解決方案。

該Web應用程序具有引擎的引用,但它也需要App_Data中的dll才能起作用(我的同事談到了運行時問題)。 因此,每次發布時,我都需要手動將dll復制粘貼到VM App_Data目錄。

我想使這個過程自動化 ,我嘗試了一些解決這個問題的方法:

  • 將批處理腳本放入Web應用程序屬性=> build => afterbuild,以便將dll從bin / debug自動復制到App_Data。 它創建文件,但是當我發布時,App_data文件將被忽略
  • 從C:/MyProject/Properties/PublishProfiles/mypp.pubxml編輯pubxml文件,但是我沒有找到進一步的相關信息或文檔。
  • 使用Azure RunBooks,但在發布后沒有找到啟動它的選項。

我在找一些我尚未找到的有關發布的幫助或文檔,或者在尋找一些關於Azure Runbook的技巧。

請毫不猶豫地指出錯別字,此刻我很累。

據我了解,您不需要添加構建后事件腳本。 您可以在部署應用程序之前修改*.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目標的教程:如何:使用Task遞歸復制文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM