C# WPF文件关联相对路径

C# WPF文件关联相对路径,c#,wpf,C#,Wpf,我最近为我的WPF应用程序添加了文件关联。一切正常,但我的.exe所在的文件夹中几乎没有文件。在某些地方,我使用相对路径访问这些文件 当我单击我的.egAssociated扩展文件时,我的应用程序启动。但是,当我尝试访问应用程序中与我的exe相关的文件夹中的文件时,相对路径显示在.eg的位置 我现在已经通过将它们改为绝对路径来解决这个问题,但我很好奇为什么会发生这种情况,是否有更好的方法来解决这个问题 你能行 Environment.CurrentDirectory = System.AppDo

我最近为我的WPF应用程序添加了文件关联。一切正常,但我的.exe所在的文件夹中几乎没有文件。在某些地方,我使用相对路径访问这些文件

当我单击我的.egAssociated扩展文件时,我的应用程序启动。但是,当我尝试访问应用程序中与我的exe相关的文件夹中的文件时,相对路径显示在.eg的位置

我现在已经通过将它们改为绝对路径来解决这个问题,但我很好奇为什么会发生这种情况,是否有更好的方法来解决这个问题

你能行

Environment.CurrentDirectory = System.AppDomain.CurrentDomain.BaseDirectory;
在App.xaml.cs中,有多种方法可以模拟WPF中的main方法,其中任何一种都可以


在此之后,您使用的所有相对路径都将与主exe文件夹相对

获取路径/文件夹位置有不同的方法可以做到这一点,一种独立于实际项目/程序集类型的方法是查询执行程序集(exe的执行程序)的位置,并将其与文件的exe相对路径一起使用,以形成文件的绝对路径。当然,谢谢。这就是我现在访问它的方式Path.GetFullPathSystem.AppDomain.CurrentDomain.BaseDirectory+..\\image\\text.png;我在App.xaml.cs中累了上面的一行,得到了这个异常:[System.IO.IOException]={System.IO.IOException:目录名无效。在System.IO.\uU Error.WinIOErrorInt32 errorCode,字符串可能在System.IO.directory.SetCurrentDirectoryString path at System.Environment.set\u CurrentDirectoryString值我从您的代码中获得了灵感,并尝试了以下方法:Environment.CurrentDirectory=System.AppDomain.CurrentDomain.BaseDirectory;并且它工作正常。Thanks@PrimeOfKnights嗯..很有趣。基本目录也应该给你相同的路径。我不知道为什么第一个不起作用。但很高兴最后它成功了