2016-08-30 5 views
10

私はASP.Netコアアプリケーションを持っていますが、現時点ではLocalAppDataを使用する必要があります。ASP.NetコアアプリケーションのLocalAppDataへのパス

通常、私はEnvironment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)と書いていますが、残念ながらASP.Net Coreでは動作しません。

誰でも私にこれを手伝ってもらえますか?アデムCaglinへ

UPDATE

おかげで、私は解決策を見つけました。

私が使用するコード:

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

+1

でテストは、このリンクを参照してください。 ja/latest/fundamentals/static-files.html –

+1

.NET Coreライブラリまたは.NET Frameworkを使用してASP.NET Coreアプリケーションを実行していますか? –

+0

@rboe .NETコアライブラリを使用しています –

答えて

6

はこれを試してみてください:

Environment.GetEnvironmentVariable("LocalAppData"); 

PS:https://docs.asp.net/:窓

+0

ありがとうございました!私があなたの答えを受け入れる前に、環境変数 "LocalAppData"を含んでいないLinuxの回避策があるかどうか尋ねなければなりません。私はOSをチェックすることを考え、それに応じて "LocalAppData"か "Home"のどちらかを返しますが、何を推測しますか? ASP.Net CoreにEnviroment.OSVersionの定義が含まれていません-_- –

+1

実行時プラットフォームの変数を取得することが解決策になるかもしれません。参照してくださいhttp://stackoverflow.com/questions/39207282/how-to-get-information-about-runtime-net-core –

+0

'Environment.GetEnvironmentValiable(RuntimeInformation.IsOSPlatform(OSPlatform.Windows)?" ProgramData ":" Home " ); 'または' 'LocalAppData ''または '' AllUsersProfile "'ウィンドウ上でチェックアウトするのは良いことです。 Linuxでは、 '' HOME ''はあなたが期待できるすべてのものです。 –

関連する問題