gpt4 book ai didi

WPF 工作目录

转载 作者:行者123 更新时间:2023-12-04 11:44:53 31 4
gpt4 key购买 nike

我有一个 WPF 应用程序,它通过 Windows 安装程序安装在客户端计算机上。此应用程序还注册了文件扩展名 (.xyz),因此当用户双击文件时,它会打开我的 WPF 应用程序并显示该文件(如 Microsoft Word)。该程序还有大量未标记为其使用的资源或内容文件(用户手册、零件图等)的文件。

当用户双击 .xyz 文件并打开 WPF 应用程序时,问题就出现了。该应用程序现在具有 .xyz 文件所在目录的工作目录。现在程序找不到它需要的任何文件(用户手册、零件图等)。

处理此类问题的最佳方法是什么?我可以设置工作目录 (Environment.CurrentDirectory),但是当用户保存或打开 .xyz 文件时,我的打开文件对话框会更改工作目录。我可以为零件图使用包 uri,但我将 Process.Start 用于用户手册,因为它们是 PDF。我尝试搜索,但找不到任何东西。

最佳答案

您应该能够通过查找可执行文件的目录或使用反射来查找程序集的目录来访问安装目录:

通过查找可执行文件,您可以添加对 Windows.Forms 的引用来完成这项工作(诚然不理想):

using System.IO;
using System.Windows.Forms;

string appPath = Path.GetDirectoryName(Application.ExecutablePath);

使用反射:
using System.IO;
using System.Reflection;

string path = Path.GetDirectoryName(Assembly.GetAssembly(typeof(MyClass)).CodeBase);

或者
string path = System.Reflection.Assembly.GetExecutingAssembly().Location;

您可能只是缓存应用程序的加载路径,因为它不会改变。

关于WPF 工作目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3069668/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com