【发布时间】:2017-04-20 04:31:58
【问题描述】:
我有一个 C# 程序,它会从相对路径 ./report/report1.rdlc 读取文件,但有时由于未知原因它从完全不同的位置找到文件 C:\Windows\system32\report\report1.rdlc 但文件实际上位于 C:\Program Files (x86)\Application1\report\report1.rdlc程序在C:\Program Files (x86)\Application1\ 内。相对路径不是从工作目录开始的任何原因?
【问题讨论】:
-
工作目录不需要与可执行二进制文件所在的目录相同。
-
C# program在哪里? -
当程序试图在
C:\Windows\system32\report\中找到report1.rdlc时,您是如何启动程序的?您是否在cmd控制台内启动它,而里面的路径是C:\Windows\system32\? -
我将程序构建为 exe 文件并双击 C:\Program Files (x86)\Application1\
-
双击.exe文件时程序有用户界面,还是只是在后台运行?如果是这样,它可以作为解释系统文件夹的 Windows 服务运行。如果是这样,您可以使用 Assembly.ExecutingAssembly.CodeBase 找到基本文件夹:msdn.microsoft.com/en-us/library/…