一个基本问题:
我有一个c windows应用程序,当从它自己的目录执行时,通过键入

program1.exe

但是当我从另一个目录执行它时
d:/progs/myprog/program1.exe

它崩溃了。我真的需要这样做:)
我想它与程序读取同一目录下的一些文件有关。我怀疑的是:
using (XmlReader OdczytywaczXML = XmlReader.Create(@"config.xml"))

会是问题吗?我不想给出文件的完整路径,因为我希望我的程序只通过复制文件就可以在任何地方工作。
哦,我不知道如何在调试时模拟这种情况(从另一个目录运行)-有可能吗?

最佳答案

在这种情况下,您应该检测程序位置并构造config.xml的完整路径,例如:

var filePath = Path.Combine(
    Path.GetDirectoryName(Assembly.GetEntryAssembly().Location),
    @"config.xml");

若要模拟条件,请转到“项目属性”页的“调试”并设置Working Directory

09-26 22:41
查看更多