0

I have 2 projects in my solution

  • Azure Functions
  • ZeroCodeNFTWeb (Web API)

enter image description here

Azure Functions Project references ZeroCodeNFTWeb project and deploys just fine. However when I deploy ZeroCodeNFTWeb it fails to start with error:

enter image description here

If I remove the dependency everything works again. Why does ZeroCodeNFTWeb fail to start if it doesn't depend on Azure Functions in any way ? This seems backwards. I would understand if function was failing to deploy because it literally depends on ZeroCodeNFTWeb but ZeroCodeNFTWeb does not depend Azure Function yet fails to run when deployed to Azure App Service.

UPDATE: instead of deploying the app with a Github action, I deployed it standalone, as a .pubxml and it works fine even though AzureFunctions project still references it. So I guess something in the default .yaml file produced by Azure brakes the deployment.

name: Build and deploy ASP.Net Core app to Azure Web App - zerocodenft

on:
  push:
    branches:
      - staging
  workflow_dispatch:

jobs:
  build:
    runs-on: windows-latest

    steps:
      - uses: actions/checkout@v2

      - name: Set up .NET Core
        uses: actions/setup-dotnet@v1
        with:
          dotnet-version: '6.0.x'
          include-prerelease: true

      - name: Build with dotnet
        run: dotnet build --configuration Debug

      - name: dotnet publish
        run: dotnet publish -c Debug -o ${{env.DOTNET_ROOT}}/myapp

      - name: Upload artifact for deployment job
        uses: actions/upload-artifact@v2
        with:
          name: .net-app
          path: ${{env.DOTNET_ROOT}}/myapp

  deploy:
    runs-on: windows-latest
    needs: build
    environment:
      name: 'staging'
      url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}

    steps:
      - name: Download artifact from build job
        uses: actions/download-artifact@v2
        with:
          name: .net-app

      - name: Deploy to Azure Web App
        id: deploy-to-webapp
        uses: azure/webapps-deploy@v2
        with:
          app-name: 'zerocodenft'
          slot-name: 'staging'
          publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_252581367AA747C2BEA882332BDAEC92 }}
          package: .
ihor.eth
  • 2,207
  • 20
  • 27
  • This is a generic error. This generally shown, if your webapp unable to load. You must be using App service. There is a option 'Troubleshooting' in app service. check that you might get the real error message. – lokanath das May 19 '22 at 06:16
  • The actual exception message in the logs is just empty but I've already pinpointed what the issue is. Yes, I am using Azure App Service as I did mention in the question. – ihor.eth May 19 '22 at 13:57

1 Answers1

0

Generally, when the Microsoft.NETCore.App or Microsoft.AspNetCore.App runtime isn't installed, this type of error occurs. This issue occurs if the app is deployed to target ASP .NET Core and that version does not exist on the machine.

To resolve this error, try the following:

  • Install the necessary version of .NET Core on the machine.
  • Modify the app to use a version of .NET Core that is present on the machine.
  • Publish the app as a self-contained deployment.
  • The specific error is written to the HTTP response, when running in development (the ASPNETCORE_ENVIRONMENT environment variable is set to Development). The Application Event Log can also provide the reason for a process startup failure.
  • You can try to Uninstall all the EF Core nuget packages and reinstalling them.

References:
500.31 ANCM Failed to Find Native Dependencies
Troubleshooting 500.31 ANCM on Azure App Service
ANCM Failed to Find Native Dependencies in .NET 6 (preview)

  • I did try the troubleshooting guide. The problem is that the exception message in the logs is just empty, verified both from App Event Log and thru Kuda directly. I was able to pinpoint the issue anyway, now it's just to understand why it's happening. The only thing I haven't tried is self-contained deployment but I prefer not having to do that since that will increase deployment time required. – ihor.eth May 19 '22 at 14:34