【原创】在Release与Debug两种模式下访问文件的相对路径区别

        近日,在编写一个小程序的时候,发现一个问题,就是在Debug和Release模式下访问文件的路径不同。代码如下:

                try
                {
                    //下面是调用外部程序的代码
                    ProcessStartInfo Info = new ProcessStartInfo();
                    //这里是你要调用到的外部程
                    Info.FileName = @"a\b\c.exe";
                    Process Proc;
                    Proc = Process.Start(Info);
                }
                catch (System.ComponentModel.Win32Exception ex)
                {
                    MessageBox.Show("1:"+ex.Message, "注意", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }

       我设置的是相对目录,在Debug模式下,程序运行没有问题;但是在Release模式下,提示系统无法找到文件。我认真地想一想,相对路径没有错呀!!!于是上网查找问题,还真被我找到了……网址如下:

http://www.cnblogs.com/xshy3412/archive/2008/04/07/1140982.html

       作者提到,在Release模式下使用相对路径的话,程序会访问到“C:\Documents and Settings\XXX\桌面”目录下的"a\b\c.exe",但其实该路径下并没有我们要找的c.exe。问题找到了,就是相对路径设置的问题。于是进行如下修改既可以:

                 Info.FileName = AppDomain.CurrentDomain.BaseDirectory + @"a\b\c.exe";

       在重新编译一下,问题搞定!o(∩_∩)o 哈哈

你可能感兴趣的:(C#编程)