2015-10-16 16 views
12

tôi sử dụng để chỉ định đường dẫn cơ sở ứng dụng cho ConfigurationBuilder như thế này:Xác định đường dẫn cơ sở ứng dụng trong ConfigurationBuilder trong beta8

public Startup(IApplicationEnvironment appEnv) 
{ 
    var configurationBuilder = new ConfigurationBuilder(appEnv.ApplicationBasePath) 
     .AddJsonFile("config.json") 
     .AddEnvironmentVariables(); 

    Configuration = configurationBuilder.Build(); 
} 

Tuy nhiên, tính đến beta8, các nhà xây dựng của ConfigurationBuilder không mất một con đường cơ sở ứng dụng lập luận nữa và nó ném một ngoại lệ ngay bây giờ.

Tôi có thể chỉ định đường dẫn cơ sở như thế nào?

Trả lời

14

Nếu chúng ta nhìn vào source code of ConfigurationBuilder, chúng ta có thể thấy rằng hàm tạo không còn chấp nhận một chuỗi biểu diễn đường dẫn cơ sở ứng dụng nữa. Trong Thay vào đó, chúng ta phải sử dụng SetBasePath() extension method trên giao diện IConfigurationBuilder để xác định nó:

public Startup(IApplicationEnvironment appEnv) 
{ 
    var configurationBuilder = new ConfigurationBuilder() 
     .SetBasePath(appEnv.ApplicationBasePath) 
     .AddJsonFile("config.json") 
     .AddEnvironmentVariables(); 

    Configuration = configurationBuilder.Build(); 
} 

Các Đặc biệt cam kết có thể được tìm thấy here.

+0

Xin lỗi nếu câu hỏi là rất muộn nhưng làm thế nào để bạn thêm IApplicationEnvironment? Tôi đang tìm kiếm giờ và không thể làm cho nó hoạt động .. Tôi khá mới với C#. Nếu tôi muốn tiêm IApplicationEnvironment nó nói rằng nó không thể được tìm thấy? – Anokrize

+0

Tôi cũng đang theo một hướng dẫn. Anh ta đang sử dụng "Microsoft.Framework.Configuration" và nếu tôi đưa nó vào dự án của tôi, tôi không thể áp dụng phương thức ".AddEnviromentVariables()". Để làm điều này tôi cần "sử dụng Microsoft.Extension.Configuration". Nhưng điều này không cho phép tôi sử dụng IApplicationEnviroment ?? – Anokrize

+0

Bạn sử dụng phiên bản nào @Anokrize? RC1 hoặc RC2? Lớp 'IApplicationEnvironment' tồn tại trong không gian tên' Microsoft.Extensions.PlatformAbstractions'. –

Các vấn đề liên quan