64位程序运行的怪有关问题

64位程序运行的怪问题
事情是这样的,我的程序原来一直用的是32位的,没问题。最近想转成64位的,
运行程序居然报错了,错误很奇怪,说是我的一个静态变量为null?

实际上这个静态变量声明的时候就赋值了,我又编译成32位运行,是不报错的,为什么有这种怪事?
------解决思路----------------------
不想多费什么心思跟踪情况,所以直接改成属性
public static string SystemIniFile  {   get{  retrun Application.StartupPath + @"\SystemSetting.xml";}}

当然你要愿意多写成 Lazy<string> 也可以

 static readonly Lazy<string> _SystemIniFile=new Lazy<string>(()=>Application.StartupPath + @"\SystemSetting.xml);
public static string SystemIniFile=_SystemIniFile.Value;