Luis Valencia
Luis Valencia

Reputation: 33978

'ConfigurationBuilder' does not contain a definition for 'AddJsonFile'

I have the following error:

Program.cs(15,72): error CS1061: 'ConfigurationBuilder' does not contain a definition for 'AddJsonFile' and no accessible extension method 'AddJsonFile' accepting a first argument of type 'ConfigurationBuilder' could be found (are you missing a using directive or an assembly

The project is a dotnet core app, console application, using Azure Search SDK

The line of error is below:

using System;
using System.Linq;
using System.Threading;
using Microsoft.Azure.Search;
using Microsoft.Azure.Search.Models;
using Microsoft.Extensions.Configuration;
using Microsoft.Spatial;

namespace DemoSearchIndexer
{
    class Program
    {
        static void Main(string[] args)
        {
            IConfigurationBuilder builder = new ConfigurationBuilder()
                .AddJsonFile("appsettings.json");
            IConfigurationRoot configuration = builder.Build();
            ...

Upvotes: 136

Views: 86095

Answers (3)

Muhammad Abdullah
Muhammad Abdullah

Reputation: 31

Microsoft.Extensions.Configuration.Json

Adding this Nuget Package in your solution will help you use ConfigurationBuilder like this:

IConfigurationBuilder configurationBuilder = new ConfigurationBuilder();
configurationBuilder.AddJsonFile("appsettings.json");
IConfiguration configuration = configurationBuilder.Build();
string connectionString = configuration.GetConnectionString("DefaultConnection");

Upvotes: 3

EICE
EICE

Reputation: 83

You also have to set appsettings file properties to "copy always".

See this for more infos.

Upvotes: -2

Kirk Larkin
Kirk Larkin

Reputation: 93003

The AddJsonFile extension method is available in NuGet:

When building an ASP.NET Core application, which usually references Microsoft.AspNetCore.App (or, historically, Microsoft.AspNetCore.All), you get this "for free".

When building a console application, or something that doesn't reference the metapackages, you need an explicit reference to Microsoft.Extensions.Configuration.Json.

Upvotes: 262

Related Questions