2017-08-22 22 views
1

私はこのような多くの古い質問を見ましたが、私の場合ではありません。GetFolderPath(SpecialFolder.ApplicationData)は空の文字列を返します

'load user profile'を有効にして、Asp.netアプリケーションをAppPool(win10のiis)で実行しています。

そして、Environment.GetFolderPath(ApplicationDataまたはLocalApplicationData)は、空の文字列を返します。 CommonApplicationDataは正しいフォルダを返します。

{user} \ AppDataがディスクに存在することを確認します。

質問:どうすればAppDataの空の文字列を取得できますか?

答えて

1

IISで'loadUserProfile'オプションを有効にするだけでは不十分です!

別のオプションを有効にする必要があります。これは'setProfileEnvironment'です。私はそれを変更するIISのUIが見つかりませんでした。

ファイルを%windir%\system32\inetsrv\config\applicationHost.configで開き、アプリケーションプールの属性を追加または変更します。

<configuration> 
    <system.applicationHost> 
     <applicationPools> 
      <add name="YourPool" > 
       <processModel 
       loadUserProfile="true" 
       setProfileEnvironment="true"/> 

その後、ApplicationDataまたはLocalApplicationDataのパスを取得できます。

関連する問題