2012-04-11 17 views
1

私は、開発コードがあるフォルダを指す環境変数を持っています。私のマシンでは、C:\ SOME_NAME \ CODEです。この環境変数は、同じコードを使用する他のコンピュータが同じ環境変数に対して異なるパスを持つため、コードで参照されます。私は、ディレクトリ名やドライブ名、さらにはレベル数を確認することはできません。私はapp.configで相対パスを使用しようとしていますが、動作させることができませんでした。環境変数はapp.configの部分パスです

<setting name="manifestpath" serializeAs="String"> 
    <value>$(CODE_BASE)\PROJECT\manifest\manifest.xml</value> 
</setting> 

私はそれを実行すると、私は正確な質問はここに頼まれたことを認識していますエラーに"Could not find a part of the path C:\SOME_NAME\CODE\PROJECT\output\x64\Debug\$(CODE_BASE)\PROJECT\manifest\manifest.xml".

を得る: App.config settings, environment variable as partial pathを。
残念ながら、私は答えを見つけることができませんでしたが、私は%を使用しようとしましたが、変更が他の多くのプロジェクトに影響するため、名前を変更することはできません。人)。助けて ?ありがとうございました。

答えて

2

他の質問に対する答えを誤って読んだと思います。あなたの環境変数は決してその名前に%を持ちません。変数名を環境変数であることを示す%で囲みます。もし変数がCODE_BASE呼び出されたのであれば、その後、次のように動作するはずです:\ SOME_NAME \ CODE \プロジェクト\出力:私は私が得たエラーは、経路Cの一部が見つかりませんでした」であった、ということでした

<value>%CODE_BASE%\PROJECT\manifest\manifest.xml</value> 
+1

\ x64 \ Debug \%CODE_BASE%\ PROJECT \ manifest \ manifest.xml "を選択します。そういうわけで私はそれを誤読したと思っています...それは単に働かないからです。 – Thalia

+3

これはいいですね。これで、この文字列を[http://msdn.microsoft.com/en-us/library/system.environment.expandenvironmentvariables.aspx]( 'Environment.ExpandEnvironmentVariables')で実行するだけで済みます。 –