-1
カスタム環境変数を追加しましたが、ExpandEnvironmentVariablesに戻すことができません。ExpandEnvironmentVariablesでカスタム変数を返す方法
これらの2つの呼び出しが正常に動作:
string s = Environment.GetEnvironmentVariable("TEST", EnvironmentVariableTarget.Machine);
// S = "D:\ TEMP2"
string path = Environment.ExpandEnvironmentVariables(@"%windir%\Temp1");
//パス= "C:\ WINDOWS \ TEMP1"
ただし、この呼び出しは同じ入力文字列を返します。
var path = Environment.ExpandEnvironmentVariables(@"%TEST%\Temp1");
// path = "%TEST%\\Temp1"
は私が得ることを期待D:\ TEMP2 \ TEMP1私が正しく、この最後の呼び出しでカスタムEnvironmentVariableを取得するために行方不明です何
変数をコードで設定していますか?可能であれば、そのコードを含むように質問を編集できますか? – stuartd
最も明白な理由は、VSまたはプログラムを再起動しなくても、この変数をシステム環境に追加したことです。変更を有効にするには、ログアウトして再度ログインする必要があります。 –
システム変数を設定するには、単にOSインターフェイスのシステムプロパティを解除します。私はコード内の変数のみを取得しています。 GetEnvironmentVariableは動作しますが、ExpandEnvironmentVariablesは... –