2016-07-29 8 views
0

Я получаю файл не найдена ошибка, хотя у меня есть необходимый файл внутри каталога проекта. Нет ошибок компиляции.Файл не найден Exception Visual Studio 2015

Вот мой startup.cs класс:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Threading.Tasks; 
using Microsoft.AspNetCore.Builder; 
using Microsoft.AspNetCore.Hosting; 
using Microsoft.AspNetCore.Http; 
using Microsoft.Extensions.DependencyInjection; 
using Microsoft.Extensions.Logging; 
using Microsoft.Extensions.Configuration; 

namespace OdeToFood 
{ 
public class Startup 
{ 
    public Startup() 
    { 
     var builder = new ConfigurationBuilder() 
      .AddJsonFile("config.json"); 
     Configuration = builder.Build(); 
    } 

    public IConfiguration Configuration { get; set; } 

    // 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(IServiceCollection services) 
    { 
    } 

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. 
    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) 
    { 
     loggerFactory.AddConsole(); 

     if (env.IsDevelopment()) 
     { 
      app.UseDeveloperExceptionPage(); 
     } 

     app.Run(async (context) => 
     { 
      var message = Configuration["greeting"]; 
      await context.Response.WriteAsync(message); 
     }); 
    } 
} 
} 

И это сообщение об ошибке я получаю, когда я его построить.

System.IO.FileNotFoundException: The configuration file 'config.json' was not found and is not optional. 
    at Microsoft.Extensions.Configuration.FileConfigurationProvider.Load(Boolean reload) 
    at Microsoft.Extensions.Configuration.ConfigurationRoot..ctor(IList`1 providers) 
    at Microsoft.Extensions.Configuration.ConfigurationBuilder.Build() 
    at OdeToFood.Startup..ctor() 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 
    at Microsoft.Extensions.Internal.ActivatorUtilities.ConstructorMatcher.CreateInstance(IServiceProvider provider) 
    at Microsoft.AspNetCore.Hosting.Internal.StartupLoader.LoadMethods(IServiceProvider services, Type startupType, String environmentName) 
    at Microsoft.AspNetCore.Hosting.WebHostBuilderExtensions.<>c__DisplayClass1_0.b__1(IServiceProvider sp) 
    at Microsoft.Extensions.DependencyInjection.ServiceProvider.ScopedCallSite.Invoke(ServiceProvider provider) 
    at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType) 
    at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider) 
    at Microsoft.AspNetCore.Hosting.Internal.WebHost.EnsureStartup() 
    at Microsoft.AspNetCore.Hosting.Internal.WebHost.EnsureApplicationServices() 
    at Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication() 

Скриншот показывает файл настоящего

json file

Как мне это исправить?

Благодаря

ответ

0

Я думаю, что вы забыли использовать Server.MapPath функцию. Вы можете редактировать Constructor с помощью следующего кода:

public Startup() 
    { 
     var builder = new ConfigurationBuilder() 
      .AddJsonFile(HttpContext.Current.Server.MapPath("~/config.json")); 
     Configuration = builder.Build(); 
    } 

Надеется, что это помогает :)

+0

Я получаю «HttpContext» не содержит определение ошибки «Содержания» – re3el

+0

попробовать это: 'System. Web.HttpContext.Current.Server.MapPath ("~/config.json") ' –

+0

и где вы используете' Content'? –

Смежные вопросы