C# 环境变量作为app.config中的部分路径
我有一个环境变量,它指向开发代码所在的文件夹。在我的机器上是C:\SOME\u NAME\CODE。此环境变量在代码中引用,因为使用相同代码的其他计算机对相同的环境变量具有不同的路径。我无法确定目录或驱动器名称,甚至无法确定级别的数量。我试图在app.config中使用相对路径,但无法使其工作C# 环境变量作为app.config中的部分路径,c#,environment-variables,app-config,C#,Environment Variables,App Config,我有一个环境变量,它指向开发代码所在的文件夹。在我的机器上是C:\SOME\u NAME\CODE。此环境变量在代码中引用,因为使用相同代码的其他计算机对相同的环境变量具有不同的路径。我无法确定目录或驱动器名称,甚至无法确定级别的数量。我试图在app.config中使用相对路径,但无法使其工作 <setting name="manifestpath" serializeAs="String"> <value>$(CODE_BASE)\PROJECT\manifest
<setting name="manifestpath" serializeAs="String">
<value>$(CODE_BASE)\PROJECT\manifest\manifest.xml</value>
</setting>
$(代码库)\PROJECT\manifest\manifest.xml
当我运行它时,我得到一个错误“找不到路径C:\SOME\u NAME\code\PROJECT\output\x64\Debug\$(code\u BASE)\PROJECT\manifest\manifest.xml的一部分。”
我知道这里有人问了一个确切的问题:
.不幸的是,我无法找到一个有效的答案,我尝试使用%(但我的env var名称中没有%,我无法更改它,因为更改将影响许多其他项目和人员)。帮忙?谢谢。我想你看错了另一个问题的答案。您的环境变量的名称中永远不会有%。将变量名用%括起来,表示它是一个环境变量。因此,如果您的变量称为CODE_BASE,那么以下操作应该有效:
<value>%CODE_BASE%\PROJECT\manifest\manifest.xml</value>
%code\u BASE%\PROJECT\manifest\manifest.xml
当我这样做时,得到的错误是“找不到路径C:\SOME\u NAME\code\PROJECT\output\x64\Debug\%code\u BASE%\PROJECT\manifest\manifest.xml的一部分”。这就是为什么我认为我误读了它。。。或者别的什么。。。因为它根本不起作用,这很好。现在您只需在[(Environment.ExpandEnvironmentVariables
)中运行这个字符串,就可以设置了。