未调用Azure函数启动的配置

6jjcrrmo  于 2023-02-05  发布在  其他
关注(0)|答案(1)|浏览(126)

我尝试在.NET 5(VS 2022)中的Azure Function项目中创建非静态函数,但未调用Startup Configure方法。
这是我的入门课程

[assembly: FunctionsStartup(typeof(AuthenticationGateway.Functions.Startup))]
namespace AuthenticationGateway.Functions
{
    class Startup : FunctionsStartup //public or not, still does not get called.
    {
        public override void Configure(IFunctionsHostBuilder builder)
        {
            
            //break point here never gets hit...
            
        }

        
    }

}

下面是我们讨论的函数:

namespace AuthenticationGateway.Functions
{
    public class CreationConnection
    {
        private AuthenticationGatewayContext Context { get; set; }

        public CreationConnection(AuthenticationGatewayContext context)
        {
            Context = context;
        }

        [Function("CreationConnection")]
        public HttpResponseData Run([HttpTrigger(AuthorizationLevel.Function, "get")] HttpRequestData req,
            FunctionContext executionContext)
        {            

            var response = req.CreateResponse(HttpStatusCode.OK);

            return response;
        }
    }
}

我试过注解Configure中的所有代码,以防出现问题,但也不起作用。我还试过将启动类标记为public,也不起作用。
以下是所讨论项目的依赖项

它们不是项目在创建Azure Function项目时的默认依赖项,但当我尝试其他解决方案来解决这个问题时,它导致我插入这些依赖项。
下面是启动项目时控制台的提示:
Azure功能核心工具核心工具版本:3.0.3904提交哈希值:c345f7140a8f968c5dbc621f8a8374d8e3234206(64位)函数运行时版本:3.3.1.0
我错过什么了吗?
编辑:我已经恢复到下面的依赖关系,因为以前的依赖关系,所以没有函数会在项目中找到。

this页面上,此处显示必须安装以下依赖项:

Microsoft.Azure.Functions.Extensions
Microsoft.NET.Sdk.Functions package version 1.0.28 or later
Microsoft.Extensions.DependencyInjection (currently, only version 3.x and earlier supported)

我已经这样做了,除了最后一个,因为它似乎是不兼容的.NET 5。而且,该项目现在是不可构建的:

error MSB4062: The "GenerateFunctionMetadata" task could not be loaded from the assembly
afdcj2ne

afdcj2ne1#

我已尝试重现相同的问题,你得到了以下步骤:
1.已创建Azure函数(堆栈:. Net 5-v3)的版本。
1.在将Microsoft.Net.Sdk.functions添加到项目之前,它已成功生成。

1.将Microsoft.Net.Sdk.functions添加到项目后,它运行到相同的问题MSB 4062错误,如下所示:

通过引用这些SO Thread1Thread2,删除Microsoft.Net.Sdk.functions将解决编译问题。

相关问题