一个基本问题:
我有一个C#Windows应用程序,通过键入从其自己的目录执行时运行正常
program1.exe
Run Code Online (Sandbox Code Playgroud)
但是当我从另一个目录执行它时给出了完整的路径
d:/progs/myprog/program1.exe
Run Code Online (Sandbox Code Playgroud)
它崩溃了.我真的需要这样做:)
我想这与程序中读取一些文件有关,这些文件位于同一目录中.我怀疑的是:
using (XmlReader OdczytywaczXML = XmlReader.Create(@"config.xml"))
Run Code Online (Sandbox Code Playgroud)
这可能是问题吗?我不想提供文件的完整路径,因为我希望我的程序只需复制文件即可在任何地方工作.
哦,我不知道如何在调试时模拟这种情况(从另一个目录运行) - 是否可能?
config.xml在这种情况下,您应该检测您的程序位置并构建完整路径,例如:
var filePath = Path.Combine(
Path.GetDirectoryName(Assembly.GetEntryAssembly().Location),
@"config.xml");
Run Code Online (Sandbox Code Playgroud)
要模拟条件,请转到项目属性,页面"调试"并设置Working Directory.
| 归档时间: |
|
| 查看次数: |
176 次 |
| 最近记录: |