日期:2014-05-17  浏览次数:20859 次

VS2010静态赋值问题
大家好,我有个问题很不解。

我使用的是三层结构开发,首先我在BLL定义一个
public static string _AppPath;
        /// <summary>
        /// 获取或者设置系统启动路径
        /// </summary>        
        public static string AppPath
        {
            get { return _AppPath; }
            set { _AppPath = value; }
        }

然后在UI层赋值。
 AppConfig.AppPath = Application.StartupPath;

问题:我在Debug中调式则是赋值了的,而不使用Debug,则没有值。使用VS2008不会出现这个问题,VS2010出现了,求高手帮帮忙解决一下,在线等

------解决方案--------------------
什么情况?

你只要执行了下面的命令
AppConfig.AppPath = Application.StartupPath;

无论是debug\release\vs2008\vs2010,都没问题的啊
你可以在 set { _AppPath = value; }里加个MessageBox,看看到底是什么值?
 set { _AppPath = value; MessageBox.Show(value); }
------解决方案--------------------
不要依赖Application.StartupPath,用System.AppDomain.CurrentDomain.BaseDirectory。
------解决方案--------------------
你搜一下AppPath,是不是别的地方又把AppPath值改了?