环境变量作为app.config中的部分路径

时间:2012-04-11 19:28:09

标签: c# environment-variables app-config

我有一个环境变量,指向开发代码所在的文件夹。在我的机器上它是C:\ SOME_NAME \ CODE。此环境变量在代码中引用,因为使用相同代码的其他计算机对同一环境变量具有不同的路径。我不能确定目录或驱动器名称甚至级别数。我试图在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
不幸的是,我无法找到有效的答案,我试图使用%(但我的env var名称中没有%,我无法更改它,因为更改会影响很多其他项目和人员) 。救命 ?谢谢。

1 个答案:

答案 0 :(得分:2)

我认为你错误地阅读了另一个问题的答案。您的环境变量名称中永远不会有%。用%表示变量名称,表示它是一个环境变量。因此,如果您的变量名为CODE_BASE,则以下内容应该起作用:

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