一个Net框架升级引发的血案
一个Net框架升级引发的血案
max佩恩 发表于3年前
一个Net框架升级引发的血案
  • 发表于 3年前
  • 阅读 16
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

##背景 07年给客户做了个电子政务系统,用Asp.net,SqlServer2000(各用独立服务器),中间对Net框架进行过升级,到了Net3.5。去年客户升级了数据库,使用SqlServer2008R2。为了运维,我也打算在IIS服务器上安装SqlServer2008的管理工具,然而,该工具需要Net3.5SP1,而这个Sp1无论如何都装不上,报1603错误。随后找了第三方工具来做数据运维。

##问题 最近要给客户升级,结果更新后提示找不到CSC.exe 查看Windows目录下的Net版本,发现只到3.0 -- 此时哥已经忘记之前曾经装有3.5了 赶紧找回旧的版本,还是同样的错误! 以为安装Net3.5可解决问题,于是从网上下载到本机,再从本机复制到服务器(VPN),花了2小时 开始安装,还是1603错误 尝试各种网上找得到的方法:查安装日志、用专用工具删除低版本Net框架、设置注册表、关闭杀毒软件等,依然无解。只能安装到Net3.0,就再也无法前进一步。时间来到晚上12点。 Net3.5装不上,访问网站则报找不到CSC错误(值得注意的是,其他配套网站还是正常的) 找到一个更旧的系统版本(09年的备份),居然不出错,好吧,暂时将就使用了。。。时间来到半夜2点

##第二天 中午继续折腾,居然发现是Web.Config的问题,里边写明了要用Net3.5,而操作系统上并没有这个!所以才老是报找不到csc.exe,因为他需要的是3.5的。

##解决 客户从半年前的系统备份恢复旧的操作系统(虚拟化云计算就是好),哥再次更新,搞定。

分析 SqlServer2008在安装Net3.5Sp1失败后,也造成了原有的Net3.5丢失。而我更新系统后,引起Asp.net的重新编译,于是出错。而恢复到最新的备份时,也因为该备份基于Net3.5而出错。09年的备份其实是Net2.0的。

##小结 ###1、生产环境遵循墨菲定律,不管安装什么东西都可能引起错误。就这个莫名的1603问题,损失了6小时业余时间!这个时间去看世界杯,去看电影,去见女同学。。。无论做什么都比查这个不靠谱的1603错误强。 ###2、一定要做好备份。这次幸好用户采用了虚拟化,备份也还算及时,同时数据库采用双机系统。

共有 人打赏支持
粉丝 7
博文 59
码字总数 29759
×
max佩恩
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: