繁体   English   中英

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

[英]Is it possible to define a variable in the config?

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

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

任何意见,将不胜感激。 谢谢!

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

在此输入图像描述
添加它们后,您将获得一个输入默认值的网格。
可以通过以下代码访问此值:

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

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

请参阅问题,了解如何根据构建类型转换app.config

  1. 在解决方案资源管理器中右键单击app.config文件,将其添加到项目中。 app.config是XML文件。
  2. 在app.config中的section下,添加如下所示的路径: 在此输入图像描述

  3. 代码中的访问path如下:

    string path = ConfigurationManager.AppSettings [“path”];

  4. 然后,当您想要指向其他路径时,只需更改app.config中的值,而无需重新编译代码。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM