2017-12-12 1 views
0

VS2017을 사용하고 웹을 배포합니다. 저는 Azure VM에 배포하는 웹 응용 프로그램과 웹 응용 프로그램의 엔진 인 C# 솔루션의 두 가지 솔루션을 제공합니다.특정 App_Data 파일을 Azure VM (IIS)에 게시하는 방법

웹 응용 프로그램에는 엔진에 대한 참조가 있지만 App_Data에 dll이 있어야 작동합니다 (직장 동료가 내게 문제가 있다고 말함). 따라서 게시 할 때마다 수동으로 dll을 VM App_Data 디렉토리에 복사하여 붙여 넣어야합니다. 나는이 과정을 자동화 해주는 원하는

, 나는이 문제의 몇 가지 방법을 시도 :

    웹 앱 속성에서
  • 퍼 팅의 배치 스크립트 => 구축 => afterbuild, 자동으로 빈에서 DLL을 복사하려면/App_Data에 디버그하십시오. 파일을 만들지 만 게시 할 때 App_data 파일이 무시됩니다.
  • pubxml 파일을 C : /MyProject/Properties/PublishProfiles/mypp.pubxml에서 편집하지만 적용 할 infos 또는 설명서가 더 이상 찾을 수 없습니다.
  • Azure RunBooks를 사용하고 있지만 게시하려면 게시 후 옵션을 찾지 못했습니다.

나는 아직 찾지 못했던 출판에 관한 도움이나 문서를 찾거나, 하늘색 런 북의 트릭을 찾습니다.

오타를 지적하는 것을 망설이지 마라, 나는 지금 아주 피곤하다.

답변

0

제 생각에 게시 후 이벤트 스크립트를 추가 할 필요가 없습니다. 응용 프로그램을 배포하기 전에 *.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에 대해 그 튜토리얼을 따라 할 수있다.

+0

슈퍼! 이 링크들에 대한 정보는 나에게있어서 추상적 인 것들이며, 기본적인 XML인가 아니면 더 진보 된 것입니까? 어쨌든 고마워! – aurelienjo