从 .net 1.1 升级到 2.0过程中遇到的问题及解决方法

  1.11-1.12日,将一个用vs2003编写的解决方案(windows form)升级到.net2.0。升级的过程比较顺利,基本没有出现编译错误(不过有一堆警告),但是运行的时候出了不少问题,以下节选其中比较典型的几个。

  1. vs2005无法启动调试

  1) 症状

  vs2005启动调试失败,弹出错误提示:Error while trying to run project: Unable to start debugging. 绑定句柄无效。

  2) 原因

  Terminal Services 被禁用。

  3) 解决办法

  l 打开项目属性,在“Debug”一项里,把“Enable the Visual Studio hosting process”前的钩去掉。

  l 打开计算机管理,在服务里将“Terminal Services”改成Manual,或者直接启动此服务。

  2. 打开窗口时出错

  1) 症状

  打开窗体时,发生类型为 System.Resouces.MissingMainfestResourceException的异常。异常信息为:Could not find any resources appropriate for the specified culture or the neutralculture……

  2) 原因

  发生错误的语句为:

  this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));

  因此初步判断为在项目转换的时候 资源文件内容丢失

  3) 解决办法

  打开窗体设计器,重新设置应用程序的Icon。

  3. 发生类型为ThreadStateException的异常

  1) 症状

  执行线称操作时发生类型为ThreadStateException的异常,异常信息为 The thread is dead.State can not be accessed。程序在fx1.1里编译运行不会出现此错误。

  2) 原因

  发生错误的语句段如下:

  refreshThread = new Thread(new ThreadStart(BeginRefresh));

  refreshThread.Start();

  refreshThread.IsBackground = true; // -- 错误发生在这句

  因此判断为在设置IsBackground属性时refreshThread已经完成了任务

  3) 解决办法profile.yahoo.com/WZMZ7345NIHCMYZK2UUE2EFMYM/

  修改语句的顺序为如下:

  refreshThread = new Thread(new ThreadStart(BeginRefresh));

  refreshThread.IsBackground = true;

  refreshThread.Start();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值