asp.net 错误CS1061:“IServiceCollection”不包含“AddApplicationInsightsTelemetry”的定义

hs1ihplo  于 5个月前  发布在  .NET
关注(0)|答案(1)|浏览(67)

我按照这个link为ASP.NET Core应用程序设置Application Insights
我可以在本地获得构建,但是当我尝试在Azure管道中运行构建时,它失败了,并给出了这些错误:-x1c 0d1x下面是我的代码:-

public void ConfigureServices(IServiceCollection services)
    {
        string[]? initialScopes = Configuration.GetValue<string>("DownstreamApi:Scopes")?.Split(' ');
        

        services.AddHttpContextAccessor();

        var sqlConnectionString = Configuration.GetConnectionString("DatabaseConnection");
        services.AddDbContext<PostgreSQLContext>(options => options.UseNpgsql(sqlConnectionString));

        services.AddAutoMapper(typeof(Startup));
        services.AddSingleton(Configuration);
        services.AddSingleton<IWebHostEnvironment>(_webHostEnvironment);
        services.AddControllers(options =>
        {
            options.ModelMetadataDetailsProviders.Add(new SystemTextJsonValidationMetadataProvider());
        });

        services.AddTransient<CustomJwtBearerHandler>();
        services.AddHttpClient();
        services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
                .AddScheme<JwtBearerOptions, CustomJwtBearerHandler>(JwtBearerDefaults.AuthenticationScheme, options => { });
        
        services.AddApplicationInsightsTelemetry();
        services.AddMvc(options =>
        {
            options.MaxModelValidationErrors = 50;
            options.ModelBindingMessageProvider.SetValueMustNotBeNullAccessor(
                _ => "The field is required.");
        });}

字符串

jyztefdp

jyztefdp1#

我可以在Azure DevOps中重现类似的问题。


的数据
格式:services.AddApplicationInsightsTelemetry();在ASP.NET Core 5或更早版本中工作。
默认情况下,如果您使用的是Microsoft托管的代理,它将使用.net7或.net8。
您可以尝试添加task:Use .NET Core以设置与本地计算机相同的.net核心版本。
举例来说:



另一方面,您也可以尝试在.cs文件中执行以下更改。
变更自:

services.AddApplicationInsightsTelemetry();

字符串

services.AddApplicationInsightsTelemetryWorkerService();

相关问题