Azure / Azure/azure-functions-dotnet-worker

Unable to deploy .NET 7 Isolated via App Service Build Service

Open
#1,865 8 comments 0 reactions 1 assignee Claimed by @paulyuk View on GitHub
needs-investigation
Dominant language
C#
Stars
466
Forks
215
Avg merge
3d 10h
Merged PRs (30d)
7

Description

Reported it first [here](https://github.com/Azure/Azure-Functions/issues/2402), but that repo doesn't seem to attract much attention, so posting it here as well.

Trying to deploy a .NET 7 Isolated project from git sources using Deployment Center (App Service Build Service).
The build succeeds, the log says that all files were successfully created and copied.
But the function does not appear in the list of functions and cannot be triggered (the URL returns 404).
When downloading the app's contents, the downloaded ZIP-file doesn't contain the binaries, only an empty `host.json` file.

## Build logs:
```
Command: "C:\home\site\deployments\tools\deploy.cmd"
Handling .NET Console Application deployment with MSBuild16.

Determining projects to restore...
Restored C:\home\site\repository\azure-func-dotnet-isolated-test.csproj (in 45.07 sec).
azure-func-dotnet-isolated-test -> C:\local\Temp\8dba59bf286b40f\app_data\jobs\continuous\deployedJob\azure-func-dotnet-isolated-test.dll
Determining projects to restore...
Restored C:\local\Temp\4fokofhq.ywu\WorkerExtensions.csproj (in 19.31 sec).
WorkerExtensions -> C:\local\Temp\4fokofhq.ywu\buildout\Microsoft.Azure.Functions.Worker.Extensions.dll
1 file(s) copied.
Creating app_offline.htm
KuduSync.NET from: 'C:\local\Temp\8dba59bf286b40f' to: 'C:\home\site\wwwroot'
Copying file: 'hostingstart.html'
Copying file: 'app_data\jobs\continuous\deployedJob\azure-func-dotnet-isolated-test.deps.json'
Copying file: 'app_data\jobs\continuous\deployedJob\azure-func-dotnet-isolated-test.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\azure-func-dotnet-isolated-test.exe'
Copying file: 'app_data\jobs\continuous\deployedJob\azure-func-dotnet-isolated-test.pdb'
Copying file: 'app_data\jobs\continuous\deployedJob\azure-func-dotnet-isolated-test.runtimeconfig.json'
Copying file: 'app_data\jobs\continuous\deployedJob\Azure.Core.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\extensions.json'
Copying file: 'app_data\jobs\continuous\deployedJob\functions.metadata'
Copying file: 'app_data\jobs\continuous\deployedJob\Google.Protobuf.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\Grpc.Core.Api.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\Grpc.Net.Client.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\Grpc.Net.ClientFactory.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\Grpc.Net.Common.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\host.json'
Copying file: 'app_data\jobs\continuous\deployedJob\Microsoft.Azure.Functions.Worker.Core.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\Microsoft.Azure.Functions.Worker.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\Microsoft.Azure.Functions.Worker.Extensions.Abstractions.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\Microsoft.Azure.Functions.Worker.Extensions.Http.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\Microsoft.Azure.Functions.Worker.Grpc.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\Microsoft.Bcl.AsyncInterfaces.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\Microsoft.Extensions.Configuration.Abstractions.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\Microsoft.Extensions.Configuration.Binder.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\Microsoft.Extensions.Configuration.CommandLine.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\Microsoft.Extensions.Configuration.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\Microsoft.Extensions.Configuration.EnvironmentVariables.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\Microsoft.Extensions.Configuration.FileExtensions.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\Microsoft.Extensions.Configuration.Json.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\Microsoft.Extensions.Configuration.UserSecrets.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\Microsoft.Extensions.DependencyInjection.Abstractions.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\Microsoft.Extensions.DependencyInjection.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\Microsoft.Extensions.FileProviders.Abstractions.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\Microsoft.Extensions.FileProviders.Physical.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\Microsoft.Extensions.FileSystemGlobbing.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\Microsoft.Extensions.Hosting.Abstractions.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\Microsoft.Extensions.Hosting.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\Microsoft.Extensions.Http.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\Microsoft.Extensions.Logging.Abstractions.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\Microsoft.Extensions.Logging.Configuration.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\Microsoft.Extensions.Logging.Console.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\Microsoft.Extensions.Logging.Debug.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\Microsoft.Extensions.Logging.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\Microsoft.Extensions.Logging.EventLog.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\Microsoft.Extensions.Logging.EventSource.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\Microsoft.Extensions.Options.ConfigurationExtensions.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\Microsoft.Extensions.Options.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\Microsoft.Extensions.Primitives.dll'
Copying file: 'app_data\jobs\continuous\deployedJob\System.Diagnostics.EventLog.dll'
Omitting next output lines...
Finished successfully.
```

## Repro steps:

* Go to Azure Portal and create a Function App instance - North Europe, .NET 7 Isolated, Windows, Consumption tier.
* Go to the newly created Function App's page.
* On the Configuration/General Settings tab set 'Basic Auth Publishing Credentials' to 'On' (otherwise App Service Build Service cannot be configured).
* Go to Deployment Center tab.
* Configure deployment from an _external git repo_ (you can use [this test one](https://github.com/scale-tone/azure-func-dotnet-isolated-test), for example) using the built-in build (App Service Build Service).
* Wait until the build finishes successfully.
* Observe that the function doesn't get picked up.

Note that it works fine for .NET 6 InProc (last time I checked).

Is there anything that can be configured to make it work?

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.