创建文件夹的“通用”快捷方式

时间:2016-02-05 08:03:16

标签: c# io path

我想创建一个指向调试文件夹中.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路径的原因。

知道如何创建一个与相对路径一起使用的通用链接吗?

1 个答案:

答案 0 :(得分:1)

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

您有三种选择:

  1. 通过始终查看与执行程序集的位置相关的Data文件夹,更改程序访问文件的方式。因此,无论您在何处调用该程序,它始终会查找.exe旁边的文件夹。

  2. 在调用程序之前更改目录,因此会考虑Debug文件夹:

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