Zdalne debugowanie witryny internetowej Azure przy użyciu git deploy nie działa

Wypróbowałem nową funkcję zdalnego debugowania dla witryn Azure, ale myślę, że mogłem natknąć się na jakiś problem: mogę go uruchomić tylko wtedy, gdy używam Web Publish. Jeśli wdrożę witrynę z lokalnym wdrożeniem git, debuger dołącza, ale symbole debugowania nie są ładowane (punkty przerwań pokazują ostrzeżenie).

Próbowałem ustawić konfigurację Release tak, aby zawierała pliki PDB (ponieważ wdrożenie git Azure domyślnie korzysta z konfiguracji Release) i używając niestandardowego skryptu wdrażania wygenerowanego przezazure site deploymentscript szczegółowe polecenietutaj i ustawienie komendy kompilacji tak, aby korzystała z konfiguracji Debug. W obu przypadkach nadal mam ten sam problem, że symbole nie są ładowane.

Wydaje mi się, że problem jest prawdopodobnie jednym z następujących:

Azure uruchamia jakąś niestandardową akcję po opublikowaniu w sieci Web, która musi zostać uruchomiona, aby umożliwić zdalne debugowanieW opcjach budowania używanych przez skrypty wdrażania git brakuje jakiegoś znacznika, który powoduje, że wyjście PDB nie jest dostępne dla aplikacji WWW (nie sądzę, aby ten był prawdopodobny)Azure nie przestrzega konfiguracji używanej przeze mnie w skrypcie wdrażania, gdy witryna działa i jest kompilowana na żądanie

Ostatecznie mam nadzieję napisać kilka zautomatyzowanych skryptów wdrożeniowych i do tego celu wolę raczej używać git deployment niż Web Publish. To, co mnie wprawia w zakłopotanie, to fakt, że nie udaje się to nawet przy ustawionej wersji Release, która zawiera pliki PDB. To naprawdę sprawia, że ​​myślę, że musi być coś ekstra w Azure for Web Publish, które nie jest zrobione dla wdrożenia git. Czy ktoś ma jakieś pomysły na to, co może powodować różnicę?

Niestandardowy skrypt wdrażania Git

Dołączam niestandardowy skrypt wdrażania wygenerowany przezazure site deploymentscript dla odniesienia i pokazania flag budowania, których używa. Odpowiednie części są po:: Deployment Sekcja.

@if "%SCM_TRACE_LEVEL%" NEQ "4" @echo off

:: ----------------------
:: KUDU Deployment Script
:: Version: 0.1.5
:: ----------------------

:: Prerequisites
:: -------------

:: Verify node.js installed
where node 2>nul >nul
IF %ERRORLEVEL% NEQ 0 (
  echo Missing node.js executable, please install node.js, if already installed make sure it can be reached from current environment.
  goto error
)

:: Setup
:: -----

setlocal enabledelayedexpansion

SET ARTIFACTS=%~dp0%..\artifacts

IF NOT DEFINED DEPLOYMENT_SOURCE (
  SET DEPLOYMENT_SOURCE=%~dp0%.
)

IF NOT DEFINED DEPLOYMENT_TARGET (
  SET DEPLOYMENT_TARGET=%ARTIFACTS%\wwwroot
)

IF NOT DEFINED NEXT_MANIFEST_PATH (
  SET NEXT_MANIFEST_PATH=%ARTIFACTS%\manifest

  IF NOT DEFINED PREVIOUS_MANIFEST_PATH (
    SET PREVIOUS_MANIFEST_PATH=%ARTIFACTS%\manifest
  )
)

IF NOT DEFINED KUDU_SYNC_CMD (
  :: Install kudu sync
  echo Installing Kudu Sync
  call npm install kudusync -g --silent
  IF !ERRORLEVEL! NEQ 0 goto error

  :: Locally just running "kuduSync" would also work
  SET KUDU_SYNC_CMD=node "%appdata%\npm\node_modules\kuduSync\bin\kuduSync"
)
IF NOT DEFINED DEPLOYMENT_TEMP (
  SET DEPLOYMENT_TEMP=%temp%\___deployTemp%random%
  SET CLEAN_LOCAL_DEPLOYMENT_TEMP=true
)

IF DEFINED CLEAN_LOCAL_DEPLOYMENT_TEMP (
  IF EXIST "%DEPLOYMENT_TEMP%" rd /s /q "%DEPLOYMENT_TEMP%"
  mkdir "%DEPLOYMENT_TEMP%"
)

IF NOT DEFINED MSBUILD_PATH (
  SET MSBUILD_PATH=%WINDIR%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe
)

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Deployment
:: ----------

echo Handling .NET Web Application deployment.

:: 1. Restore NuGet packages
IF /I "azure-test.sln" NEQ "" (
  call "%NUGET_EXE%" restore "%DEPLOYMENT_SOURCE%\azure-test.sln"
  IF !ERRORLEVEL! NEQ 0 goto error
)

:: 2. Build to the temporary path
IF /I "%IN_PLACE_DEPLOYMENT%" NEQ "1" (
  %MSBUILD_PATH% "%DEPLOYMENT_SOURCE%\azure-test\azure-test.csproj" /nologo /verbosity:m /t:Build /t:pipelinePreDeployCopyAllFilesToOneFolder     /p:_PackageTempDir="%DEPLOYMENT_TEMP%";AutoParameterizationWebConfigConnectionStrings=false;Configuration=Debug /p:SolutionDir="%DEPLOYMENT_SOURCE%\.\\"     %SCM_BUILD_ARGS%
) ELSE (
  %MSBUILD_PATH% "%DEPLOYMENT_SOURCE%\azure-test\azure-test.csproj" /nologo /verbosity:m /t:Build     /p:AutoParameterizationWebConfigConnectionStrings=false;Configuration=Debug /p:SolutionDir="%DEPLOYMENT_SOURCE%\.\\" %SCM_BUILD_ARGS%
)

IF !ERRORLEVEL! NEQ 0 goto error

:: 3. KuduSync
IF /I "%IN_PLACE_DEPLOYMENT%" NEQ "1" (
  call %KUDU_SYNC_CMD% -v 50 -f "%DEPLOYMENT_TEMP%" -t "%DEPLOYMENT_TARGET%" -n "%NEXT_MANIFEST_PATH%" -p "%PREVIOUS_MANIFEST_PATH%" -i ".git;.hg;.deployment;deploy.cmd"
  IF !ERRORLEVEL! NEQ 0 goto error
)

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

:: Post deployment stub
call %POST_DEPLOYMENT_ACTION%
IF !ERRORLEVEL! NEQ 0 goto error

goto end

:error
echo An error has occurred during web site deployment.
call :exitSetErrorLevel
call :exitFromFunction 2>nul

:exitSetErrorLevel
exit /b 1

:exitFromFunction
()

:end
echo Finished successfully.

questionAnswers(2)

yourAnswerToTheQuestion