使用App.config作为文件夹的路径

时间:2017-09-11 13:27:37

标签: c# .net configuration

我有以下代码

System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.FileName = "build.bat";
proc.StartInfo.WorkingDirectory = "C:\\Build";
proc.Start();

我想将WorkingDirectory移到app.config

<appSettings>
  <add key="buildPath" value="C:\\Build" ></add>
</appSettings>

使用新代码:

string buildPath = ConfigurationManager.AppSettings["buildPath"];
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.FileName = "build.bat";
proc.StartInfo.WorkingDirectory = buildPath;
proc.Start();

但似乎应用程序无法找到路径。

  

系统找不到指定的文件。

幕后的配置是什么?

2 个答案:

答案 0 :(得分:1)

当您将值从C#复制到app.config时,您将从C#(\)中保留转义序列。你应该只使用一个\

<appSettings>
  <add key="buildPath" value="C:\Build" ></add>
</appSettings>

这可能会绊倒您的代码。

答案 1 :(得分:0)

XML配置完全按原样读取,因此您不需要转义反斜杠。这应该没问题:

compile 'com.google.android.gms:play-services:11.2.0'
compile 'com.google.firebase:firebase-core:11.2.0'
compile 'com.google.firebase:firebase-messaging:11.2.0'