【问题标题】:Create "universal" shortcut to folder创建文件夹的“通用”快捷方式
【发布时间】:2016-05-15 03:06:49
【问题描述】:

我想在调试文件夹中创建一个指向.exe 的通用快捷方式。

看起来是这样的:

Target: %windir%\system32\cmd.exe /c start Debug\testproject.exe

我面临的问题如下:

程序使用相对路径从文件夹中选择一个文件。

StaticPath = @"./Data/Static.xml";

所以当程序从快捷方式启动时,它会因为路径无效而引发异常。

Ein Teil des Pfades "S:\XXX\Projekte\XXX\XXX\XXX\testproject\bin\Data\Static.xml" konnte nicht gefunden werden

(找不到路径,德语...)

链接位于 bin 文件夹中,这可能是程序试图从那里找到 Static.xml 忽略 Debug 路径的原因。

知道如何创建适用于相对路径的通用链接吗?

【问题讨论】:

  • 您必须在快捷方式的属性中设置工作文件夹。

标签: c# io path


【解决方案1】:

问题是程序是从快捷方式的位置执行的,所以它的工作目录与可执行文件的位置不同(即你在 Debug 文件夹之外)。

您有三个选择:

  1. 通过始终查看与执行程序集的位置相关的Data 文件夹来更改程序访问文件的方式。所以不管你从哪里调用程序,它总是会寻找.exe旁边的文件夹。

  2. 在调用程序之前更改目录,因此它确实将Debug 文件夹考虑在内:

    cmd.exe /c cd Debug & start testproject.exe
    
  3. 更改应用程序以将文件路径作为命令行参数并显式传递路径。

【讨论】:

  • 第一个选项如何?
猜你喜欢
  • 2016-07-14
  • 1970-01-01
  • 2015-04-27
  • 2012-10-12
  • 1970-01-01
  • 1970-01-01
  • 2022-10-14
  • 2011-04-29
  • 1970-01-01
相关资源
最近更新 更多