是否可以在配置中定义变量?

时间:2014-05-22 14:35:03

标签: c# variables path console config

嘿,所有来自C#/编程新手的快速问题。我有一个控制台应用程序,其中作业中的一个字符串变量是目录的路径。但是,我总是在2个不同的路径(1个prod和1个dev)之间进行更改。因此,当我想要更改硬编码路径时,我总是需要重新编译/重建解决方案。

有没有办法在配置中以某种方式定义它,然后作业中的变量可以某种方式指向它?我想摆脱解决方案中硬编码的路径。

任何建议都将不胜感激。谢谢!

3 个答案:

答案 0 :(得分:2)

这就是设置的用途。添加它们的最简单方法是通过项目属性:

enter image description here
添加它们后,您将获得一个输入默认值的网格 可以通过以下代码访问此值:

var path = MyApp.Properties.Settings.Default.PATH;

默认值存储在app.config文件中,该文件位于MyApp.exe旁边MyApp.exe.config。如果您选择设置为“用户可更改”,则更改的值(在致电MyApp.Properties.Settings.Default.Save();后)会存储在%AppData%中。

有关如何根据构建类型转换app.config的问题,请参阅THIS

答案 1 :(得分:1)

  1. 在解决方案资源管理器中右键单击,将app.config文件添加到项目中。 app.config是XML文件。
  2. 在app.config中的部分下,添加如下所示的路径: enter image description here

  3. 在以下代码中访问path

    string path = ConfigurationManager.AppSettings [" path"];

  4. 如果要指向其他路径,只需更改app.config中的值,而无需重新编译代码。

答案 2 :(得分:0)

chrfin答案的替代方法是将变量定义为

#if Debug
   string myPath = "something";
#else
   string myPath = "something else";

然后当您选择构建类型时,它将更改已编译的代码行。