【问题标题】:environment variable as partial path in app.config环境变量作为 app.config 中的部分路径
【发布时间】:2012-04-11 19:28:08
【问题描述】:

我有一个环境变量指向开发代码所在的文件夹。在我的机器上是 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.
不幸的是,我找不到有效的答案,我尝试使用 % (但我的环境变量名称中没有 %,我无法更改它,因为更改会影响许多其他项目和人员) .帮助 ?谢谢。

【问题讨论】:

    标签: c# environment-variables app-config


    【解决方案1】:

    我认为您误读了另一个问题的答案。您的环境变量的名称中永远不会包含 % 。用 % 将变量名括起来表示它是一个环境变量。所以,如果你的变量被称为 CODE_BASE,那么以下应该可以工作:

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

    【讨论】:

    • 当我这样做时,我得到的错误是“找不到路径的一部分 C:\SOME_NAME\CODE\PROJECT\output\x64\Debug\%CODE_BASE%\PROJECT\manifest\清单.xml”。这就是为什么我认为我误读了它……或其他什么……因为它根本不起作用。
    • 那很好。现在你只需通过 [msdn.microsoft.com/en-us/library/…(Environment.ExpandEnvironmentVariables) 运行这个字符串就可以了。
    猜你喜欢
    • 2011-07-15
    • 1970-01-01
    • 2017-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-05
    • 1970-01-01
    • 2021-11-07
    相关资源
    最近更新 更多