Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在32位计算机上运行Wpf应用程序时发生FileNotFoundException_C#_Wpf - Fatal编程技术网

C# 在32位计算机上运行Wpf应用程序时发生FileNotFoundException

C# 在32位计算机上运行Wpf应用程序时发生FileNotFoundException,c#,wpf,C#,Wpf,我使用Inno安装程序创建了安装文件。我的安装程序中有exe、dll和一个xml文件 当我安装在64位机器上时,它工作正常,这意味着它从存在exe的目录中获取xml文件 但当我在32位机器上安装相同的设置时,它采用dll路径,但在访问xml文件时,它采用桌面的路径,其中存在exe的快捷方式,并显示FileNotFoundException 感谢您在代码中加载xml文件时获取应用程序工作目录的路径 string WorkingDir=System.AppDomain.CurrentDomain.

我使用Inno安装程序创建了安装文件。我的安装程序中有exe、dll和一个xml文件

当我安装在64位机器上时,它工作正常,这意味着它从存在exe的目录中获取xml文件

但当我在32位机器上安装相同的设置时,它采用dll路径,但在访问xml文件时,它采用桌面的路径,其中存在exe的快捷方式,并显示FileNotFoundException


感谢您在代码中加载xml文件时获取应用程序工作目录的路径

string WorkingDir=System.AppDomain.CurrentDomain.BaseDirectory

XDocument temp_XDocument=XDocument.Load(WorkingDir+“file.xml”)您的应用程序很可能没有在试图打开的文件上指定路径名,因此它希望在当前目录中找到这些文件。Inno设置默认情况下不会在其创建的快捷方式上设置“开始位置”字段;这会导致Windows自己选择一个目录,该目录通常不是包含应用程序的目录


在几乎所有情况下,这都应该在应用程序级别进行纠正。正确设计的GUI应用程序不应期望从特定目录启动;他们应该总是在打开的文件上指定完整的路径名。例如,在Delphi或C++Builder中,可以通过调用:ExtractFilePath(ParamStr(0))获取包含应用程序EXE的目录的完整路径名。要获取应用程序目录中名为“file.txt”的文件的完整路径,请使用:ExtractFilePath(ParamStr(0))+'File.txt.

在程序运行或安装期间是否发生异常?在运行应用程序期间,我发现了问题所在。Windows XP 32位计算机在运行时获取应用程序的文档路径和设置。