发布应用程序后,在查找数据库和xml文件的路径时发生错误

本文关键字:文件 路径 错误 xml 数据库 应用程序 查找 | 更新日期: 2023-09-27 18:05:19

我有OS XP俄语版本,安装程序后显示错误"俄语路径无法读取" -以我的方式解释。有人知道吗?由于

<>之前公共字符串getDBpath() {string path1 = System.Windows.Forms.Application.StartupPath;String path2 = "safe .sdf";字符串path3 =路径。结合(path1 path2);返回path3;}公共字符串getXmlPath() {string path1 = System.Windows.Forms.Application.StartupPath;字符串path2 = @"data/fp.xml";字符串path3 =路径。结合(path1 path2);返回path3;}公共字符串getXmlPathTxt() {string path1 = System.Windows.Forms.Application.StartupPath;字符串path2 = @"data/xml_data.txt";字符串path3 =路径。结合(path1 path2);返回path3;}

发布应用程序后,在查找数据库和xml文件的路径时发生错误

不确定这是否会解决问题,但您可以尝试将System.Windows.Forms.Application.StartupPath更改为Assembly.GetExecutingAssembly().Location,看看是否可以修复它。

public string getDBpath() {
            string path1 = Assembly.GetExecutingAssembly().Location;
            string path2 = "safer.sdf";
            string path3 = Path.Combine(path1, path2);
            return path3;
        }
        public string getXmlPath() {
            string path1 = Assembly.GetExecutingAssembly().Location;
            string path2 =  @"data/fp.xml";
            string path3 = Path.Combine(path1, path2);
            return path3;
        }
        public string getXmlPathTxt() {
            string path1 = Assembly.GetExecutingAssembly().Location;
            string path2 = @"data/xml_data.txt";
            string path3 = Path.Combine(path1, path2);
            return path3;
        }

您可以尝试使用Thread.GetDomain().BaseDirectory代替System.Windows.Forms.Application.StartupPath

如果这不起作用,我建议您附加到应用程序的已部署版本。因此,您可以在创建路径之前轻松添加Debugger.Launch();