2016-08-30 33 views
10

Tôi có một ứng dụng ASP.Net Core và cho các mục đích hiện tại tôi đã sử dụng LocalAppData.Đường dẫn đến LocalAppData trong ứng dụng ASP.Net Core

Thông thường tôi sẽ viết Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), nhưng tiếc là nó không hoạt động với ASP.Net Core.

Có ai có thể giúp tôi với điều này không?

CẬP NHẬT

Nhờ Adem Caglin, tôi đã tìm thấy các giải pháp.

Mã này tôi sử dụng:

Environment.GetEnvironmentVariable( RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? "LocalAppData" : "Home");

+1

tham khảo liên kết này: https://docs.asp.net/ vi/latest/basisamentals/static-files.html –

+1

Ứng dụng ASP.NET Core của bạn có đang chạy với các thư viện .NET Core hoặc .NET Framework không? –

+0

@rboe Tôi đang sử dụng thư viện .NET Core –

Trả lời

6

Hãy thử điều này:

Environment.GetEnvironmentVariable("LocalAppData"); 

ps: kiểm tra trên cửa sổ

+0

cảm ơn rất nhiều! nhưng trước khi tôi chấp nhận câu trả lời của bạn, tôi phải hỏi nếu có một số loại workaround với Linux, mà không chứa biến môi trường "LocalAppData". Tôi nghĩ về việc kiểm tra hệ điều hành, và tùy thuộc vào nó trở lại hoặc là "LocalAppData" hoặc "Home", nhưng đoán những gì? ASP.Net Core không chứa định nghĩa cho Enviroment.OSVersion -_- –

+1

Nhận biến cho nền tảng thời gian chạy có thể là một giải pháp. Xem http://stackoverflow.com/questions/39207282/how-to-get-information-about-runtime-net-core –

+0

'Environment.GetEnvironmentValiable (RuntimeInformation.IsOSPlatform (OSPlatform.Windows)?" ProgramData ":" Home "); 'hoặc' "LocalAppData" 'hoặc' "AllUsersProfile" 'Trên cửa sổ chúng đều tốt để kiểm tra. Trên Linux, '" HOME "' là tất cả những gì bạn có thể tin cậy. –

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