今天测试考试系统VB部分,发现问题:“错误 20 未能向文件obj\Debug\SQLServerDAL.csproj.FileListAbsolute.txt写入命令行。对路径E:\考试系统源程序SQLServerDAL\obj\Debug\SQLServerDAL.csproj.FileListAbsolute.txt的访问被拒绝。”
作为程序员,碰到问题一定要淡定。开始以为仅仅是txt文件的只读性造成的,所以找到此txt源文件取消属性中的只读,结果该页运行成功,你以为完事了?当然不是,运行另外一个web窗体,结果出现了同样的错误。当问题出现两次,就该找到其共性:我觉得这和面向对象中的抽象很类似,区分开共性和个性然后抽象出类,然后以不变应万变,额,说白了就是:避免在相同的地方多次跌倒。
经过多次验证,发现原因如下:此考试系统为SVN下合作开发,开发完毕,源码仍携带着.svn文件,而SVN的版本控制和权限机制,会把文件属性更改为只读,只读文件当然不允许被写入命令行,而由于权限机制所以也会拒绝访问。
解决方案:删除所有与svn相关文件,批处理和注册表方法见《去除SVN图标及文件》。
考试系统,每次问题的出现都是学习的机会。