由于过完年上班的时候,项目出现了个问题,直接的表现结果为去年写的可以正常运行,而新年写的代码,却意外的发生了问题,所有的变量赋值不成功,程序不报错,编译能通过,只能在即使窗口中进行程序错误的信息当前上下文中不存在名称“Sas”。
vs2012的ASP.Net 项目以过年为分界线出现了年前编写的项目可以正常的运行,而年后在同样的方法中为变量赋值接受不到,调用具有相同变量类型的返回值的方法数据接收不到,session和cookie的值接受不到。出现的表现现象为(程序不报错,编译可以通过,赋值的时候鼠标悬浮上去的时候什么也不提示,在即使窗口中的跟踪显示为--当前上下文中不存在名称“Sas”)一个异常诡异的现象,而且打开以前曾经备份过的都出现这种情况。然后就悲剧啦,直接导致的结果为,现在我不可以对项目进行编写,因为给所有的变量赋值的时候会获取不到赋值的数据导致空指针现象。查找问题并解决的时候发现了在文件的项目中生成文件bin 和object 之中 出现了非自动生成的bin文件,此为添加第三方bll文件的时候的的东西,现在需要整理到别的文件夹中,并进行从新删除引用并进行添加,然后开启vs2012 的调试和发布模式进行比对, 然后发现了程序突然出现的生成文件PanSystem.XmlSerializers.dll ,和BaseFunctions.dll文件,然后将文件 发现啦文件的所在,在生成的文件中PanSystem.csproj.FileListAbsolute.txt 进行查找信息的时候发现,在2中模式的下面的不同,然后进行再程序之中进行 查览关键字,发现BaseFunctions.dll目前为支付宝的支付方面进行此相关的引用
PanSystem.XmlSerializers.dll目前为未有任何进行引用,然后进行解决,
步骤如下:
1.首先将位于支付宝的支付引用的BaseFunctions.dll 文件进行转移,将其转移到别的地方,并在项目中进行愿dll 的删除和从新的引用操作。
2.进行吧发布出来的bin文件进行删除对应的PanSystem.XmlSerializers.dll 操作,并替换相关的PanSystem.csproj.FileListAbsolute.txt
3.进行清理vs并从新生成项目文件,然后在进行程序的f5调试的工作,然后问题就完美的解决了。
4.通过百度的方式进行了,对相应的生成文件的设置的操作 在项目上进行右键属性生成,然后进行打开最下面的模式生成序列化程序集进行关闭操作并保持,然后进行项目的清理从新生成的操作。
5.问题解决。
查找问题的核心为:首先检查是否是自己程序的问题,进行排除后, 把自己的备份文件进行替换,然后出现的还是没有解决的,在这种情况下,直接调试原先的备份文件,然后进行问题还是存在,就进行间隔性的查找2个月前的备份,然后问题依旧,然后进行删除所有的bin文件和obj文件,然后进行调试,问题依旧存在,然后进行2中不同的开发模式调试,发现debug模式下问题解决,而发布的模式下问题依旧存在,在这种情况下,进行文件的比对的操作,然后进行文件的比对。进行发现了文件的不同,然后更改文件的不同。