当C# dll被其他程序调用时,用Application.StartupPath获取的dll路径并不一定是此dll的物理路径,有可能是调用程序的路径。
以下方法或者能够获取dll正确的物理路径(未经过严格验证):
//获取到文件完整路径 string path = Assembly.GetExecutingAssembly().Location; //获取到文件所在目录 FileInfo finfo = new FileInfo(s); string path = finfo.DirectoryName;