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

时间:2014-05-26 08:14:40

标签: c# windows-search

在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()。位置?

1 个答案:

答案 0 :(得分:0)

这可能对你有帮助......基本上这行可以让你进入bin / debug文件夹,你可以修改那条路径到你想要的地方。就像我修改它以进入我的应用程序的Resources文件夹一样。

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