嘿,所有来自C#/编程新手的快速问题。我有一个控制台应用程序,其中作业中的一个字符串变量是目录的路径。但是,我总是在2个不同的路径(1个prod和1个dev)之间进行更改。因此,当我想要更改硬编码路径时,我总是需要重新编译/重建解决方案。
有没有办法在配置中以某种方式定义它,然后作业中的变量可以某种方式指向它?我想摆脱解决方案中硬编码的路径。
任何建议都将不胜感激。谢谢!
答案 0 :(得分:2)
这就是设置的用途。添加它们的最简单方法是通过项目属性:
添加它们后,您将获得一个输入默认值的网格
可以通过以下代码访问此值:
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)
app.config
文件添加到项目中。 app.config是XML文件。在app.config中的部分下,添加如下所示的路径:
在以下代码中访问path
:
string path = ConfigurationManager.AppSettings [" path"];
如果要指向其他路径,只需更改app.config中的值,而无需重新编译代码。
答案 2 :(得分:0)
chrfin答案的替代方法是将变量定义为
#if Debug
string myPath = "something";
#else
string myPath = "something else";
然后当您选择构建类型时,它将更改已编译的代码行。