2016-08-30 14 views
10

Mam aplikację ASP.Net Core, a do bieżących celów muszę użyć LocalAppData.Ścieżka do LocalAppData w aplikacji ASP.Net Core

Zazwyczaj chciałbym napisać Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), ale niestety nie działa z ASP.NET Core.

Czy ktoś może mi pomóc z tym?

UPDATE

Dzięki Adem Caglin, znalazłem rozwiązanie.

Kod używam:

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

+1

patrz link: https://docs.asp.net/ pl/latest/baseals/static-files.html –

+1

Czy twoja aplikacja ASP.NET Core działa z bibliotekami .NET Core lub .NET Framework? –

+0

@ rboe Używam bibliotek .NET Core –

Odpowiedz

6

Spróbuj tego:

Environment.GetEnvironmentVariable("LocalAppData"); 

PS: testowany na oknach

+0

wielkie dzięki! ale zanim zaakceptuję twoją odpowiedź, muszę zapytać, czy istnieje jakiś sposób obejścia tego problemu z Linuksem, który nie zawiera zmiennej środowiskowej "LocalAppData". Myślałem o sprawdzeniu systemu operacyjnego i zależnie od tego zwracano "LocalAppData" lub "Home", ale zgadnij co? ASP.Net Core nie zawiera definicji Enviroment.OSVersion -_- –

+1

Pobieranie zmiennej dla platformy środowiska wykonawczego może być rozwiązaniem. Zobacz http://stackoverflow.com/questions/39207282/how-to-get-information- about-runtime-net-core –

+0

'Environment.GetEnvironmentValiable (RuntimeInformation.IsOSPlatform (OSPlatform.Windows)?" ProgramData ":" Strona główna "); 'lub' "LocalAppData" 'lub' "AllUsersProfile" 'W oknach są one dobre do sprawdzenia. W systemie Linux "HOME" to wszystko, na co możesz liczyć. –

Powiązane problemy