我希望我的程序能够获取相关目录以从文本文件中获取信息以提高稳健性。
所以这是我制作的方法:
public void GetPath()
{
var directory = Directory.GetCurrentDirectory();
hs.Path = directory.Replace(@"\\EventDriven\\bin\\Debug", hs.ReplacePath);
}
这是相关的属性和字符串(我知道我可以一次性声明它们):
(原来路径是硬编码的,你可以看到)
private string path = @"C:\Users\zain\Desktop\program_storage\AccountDatabase.txt";
private const string replacePath = @"Data\AccountDatabase.txt";
public string Path
{
get { return path; }
set { this.path = value; }
}
public string ReplacePath { get { return replacePath; } }
这是我尝试替换任何路径之前获得的路径:
"E:\\Work\\To do\\QA\\program_storage\\program_storage\\bin\\Debug"
这是AccountDatbabase.txt文件所在的目录:
E:\Work\To do\QA\program_storage\Data
所以它应该尝试访问的最终目录是:
E:\Work\To do\QA\program_storage\Data\AccountDatabase.txt
似乎存储在(hs。)Path中的是
"E:\\Work\\To do\\QA\\program_storage\\program_storage\\bin\\Debug"
尽管有替换?
我希望程序可以在多台Windows机器上运行。我想我的get set属性可能有问题(我知道我可以删除它。)但是这应该只是抛出一个错误?我可能没有正确使用替换?
感谢所有人提供的帮助! (请不要再删除此感谢信息)
答案 0 :(得分:0)
将app.config文件添加到您的应用程序中。
在该文件中添加appSettings
部分,并添加包含文件路径的密钥
当您需要路径时,请致电ConfigurationManager.AppSettings["thekeynameyouused"]
以获取路径。