繁体   English   中英

通过Windows搜索启动应用程序会为Path.GetFullPath(…)提供不同的结果

[英]Starting application via Windows Search gives different result for Path.GetFullPath(…)

我在C#中使用Path.GetFullPath方法遇到一些奇怪的问题。

在我的应用程序启动时,它将搜索一些文件夹,并通过GetFullPath方法检索路径。 如果我通过IDE或在输出文件夹中双击启动应用程序,则一切正常。

(e.g. result for the path -> D:\ExampleApp\Release\Config)

但是,如果我随资源管理器移动到输出目录,并通过“ * .exe”搜索可执行文件并启动我的应用程序,则GetFullPath方法将返回一个从C目录开始的字符串。

(e.g. result for the path -> C:\ExampleApp\Release\Config)

这是由于Windows搜索将当前目录重置为C引起的吗?

查找起始目录的最佳方法是什么,例如Assembly.GetExecutingAssembly()。Location?

这可能对您有帮助...基本上,此行将您带到bin / debug文件夹,您可以将该路径修改为所需的位置。 就像我已经对其进行了修改以使其进入我的应用程序的Resources文件夹一样。

System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\Resources\\yourFileInResources";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM