setbasepath not net iconfiguration for does configurationbuilder asp c# asp.net json asp.net-mvc

c# - not - Establecer la ruta base con ConfigurationBuilder



iconfiguration (7)

Estoy tratando de establecer la ruta base de la aplicación para una aplicación web .Net que estoy construyendo. Sigo recibiendo errores en el generador de configuración. Este es el error que recibo.

DNX,Version=v4.5.1 error CS1061: ''ConfigurationBuilder'' does not contain a definition for ''SetBasePath'' and no extension method ''SetBasePath'' accepting a first argument of type ''ConfigurationBuilder'' could be found (are you missing a using directive or an assembly reference?)

Supongo que obtendré el mismo error para mi .AddJsonFile() y .AddEnvironmentVariables() . ¿Hice algo mal? ¿No agregué la dependencia correcta a mi project.json? Adjunto mi startup.cs y mi project.json.

proyecto.json

{ "version": "1.0.0-*", "compilationOptions": { "emitEntryPoint": true }, "tooling": { "defaultNamespace": "TripPlanner" }, "dependencies": { "Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final", "Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final", "Microsoft.AspNet.Mvc": "6.0.0-rc1-final", "Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-rc1-final", "Microsoft.Framework.Configuration": "1.0.0-beta8", "Microsoft.Framework.DependencyInjection": "1.0.0-beta8" //"Microsoft.Extensions.PlatformAbstractions": "1.0.0-beta8" }, "commands": { "web": "Microsoft.AspNet.Server.Kestrel" }, "frameworks": { "dnx451": { }, "dnxcore50": { } }, "exclude": [ "wwwroot", "node_modules" ], "publishExclude": [ "**.user", "**.vspscc" ] }

startup.cs

using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNet.Builder; using Microsoft.AspNet.Hosting; using Microsoft.AspNet.Http; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.PlatformAbstractions; using Microsoft.Framework.Configuration; using Microsoft.Framework.DependencyInjection; using TripPlanner.Services; namespace TripPlanner { public class Startup { public static IConfigurationRoot Configuration; public Startup(IApplicationEnvironment appEnv){ var builder = new ConfigurationBuilder() .SetBasePath(appEnv.ApplicationBasePath) .AddJsonFile("config.json") .AddEnvironmentVariables(); Configuration = builder.Build(); } // This method gets called by the runtime. Use this method to add services to the container. // For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=398940 public void ConfigureServices(Microsoft.Extensions.DependencyInjection.IServiceCollection services) { services.AddMvc(); #if DEBUG services.AddScoped<IMailService, DebugMailService> (); #else services.AddScoped<IMailService, RealMailService> (); #endif } // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app) { //app.UseDefaultFiles(); app.UseStaticFiles(); app.UseMvc(config => { config.MapRoute( name: "Default", template: "{controller}/{action}/{id?}", defaults: new { controller = "App", action = "Index"} ); }); } // Entry point for the application. public static void Main(string[] args) => Microsoft.AspNet.Hosting.WebApplication.Run<Startup>(args); } }

El error está en la función de public startup justo cerca de la parte superior de startup.cs.


Agregue lo siguiente a su project.json:

"Microsoft.Extensions.Configuration.FileExtensions": "1.0.0-*"


Intente agregar lo siguiente a sus dependencias project.json:

"Microsoft.Extensions.Configuration": "1.0.0-*", "Microsoft.Extensions.Configuration.Abstractions": "1.0.0-*",


Intente agregar lo siguiente a sus dependencias project.json: "Microsoft.Extensions.Configuration.CommandLine": "1.1.1",

O en project.csproj:
<PackageReference Include="Microsoft.Extensions.Configuration.CommandLine" Version="1.1.1" />

Esto funcionó para mí.


Intente agregar lo siguiente en su archivo .csproj :

<ItemGroup> <PackageReference Include="Microsoft.Extensions.Configuration" Version="2.2.0" /> <PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="2.2.0" /> <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.2.0" /> </ItemGroup>


No estoy seguro de si alguien aún se encuentra con este problema, pero pude abordarlo en un proyecto de consola dotnetcore (netcoreapp2.0) a través de:

dotnet add package Microsoft.Extensions.Configuration.Json


Pude resolver el problema. Si aún no lo ha resuelto, intente lo siguiente en project.json. Agregue lo siguiente:

"Microsoft.Extensions.Configuration.FileExtensions": "1.0.0-*", "Microsoft.Extensions.Configuration.Json": "1.0.0-rc2-final"

y debería funcionar


Si está ejecutando .NET Core 1.xo .NET Standard 1.x , debe ejecutar este comando:

dotnet add package Microsoft.Extensions.Configuration.Json -v 1.1.1

Si su proyecto está dentro de otra carpeta:

dotnet add ./src/MyProject package Microsoft.Extensions.Configuration.Json -v 1.1.1

... donde MyProject es el nombre del archivo .csproj .