当我尝试在 Linux(Ubuntu 18.04)中构建 azure 函数时,返回以下错误。 以下是我在此过程中遵循的步骤。从 git 克隆存储库后。
dotnet build
func start --build
然后输出返回,
[5/29/19 6:46:18 AM] No job functions found. Try making your job classes and methods public. If you're using binding extensions (e.g. Azure Storage, ServiceBus, Timers, etc.) make sure you've called the registration method for the extension(s) in your startup code (e.g. builder.AddAzureStorage(), builder.AddServiceBus(), builder.AddTimers(), etc.).
[5/29/19 6:46:18 AM] Host initialized (49ms)
[5/29/19 6:46:18 AM] Host started (55ms)
[5/29/19 6:46:18 AM] Job host started
Hosting environment: Production
Content root path: /media/ishara/Data/MAS/SAGE/SageShipmentFunctions/SageShipmentFunctionsApp
Now listening on: http://0.0.0.0:7071
Application started. Press Ctrl+C to shut down.
[5/29/19 6:46:23 AM] Host lock lease acquired by instance ID '000000000000000000000000CAE400CD'.
下面是关于我的系统的信息,
.NET Core SDK (reflecting any global.json):
Version: 2.2.300
Commit: 73efd5bd87
Runtime Environment:
OS Name: ubuntu
OS Version: 18.04
OS Platform: Linux
RID: ubuntu.18.04-x64
Base Path: /usr/share/dotnet/sdk/2.2.300/
Host (useful for support):
Version: 2.2.5
Commit: 0a3c9209c0
.NET Core SDKs installed:
2.2.300 [/usr/share/dotnet/sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.All 2.2.5 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.2.5 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.2.5 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
To install additional .NET Core runtimes or SDKs:
https://aka.ms/dotnet-download
最佳答案
尝试解决此类错误的几个选项:
您从哪里运行“func start --build”? 确保从包含构建工件的文件夹中运行它,例如
bin\Debug\net461
.如果您是从另一个项目或版本转换过来的。
在 VS csproj 文件中,确保存在 AzureFunctionsVersion
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<AzureFunctionsVersion>v2</AzureFunctionsVersion>
</PropertyGroup>
...etc
- 如果不是,您应该升级到最新的 Microsoft.NET.Sdk.Functions,有时示例中的代码库版本较低。
尝试这些,看看它是否有效,如果无效,请提供代码库链接,以便继续执行。
关于c# - 错误返回 "No job functions found. Try making your job classes and methods public"后,尝试在 Linux 中构建 Azure 函数应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56354856/