学院首页 软件应用 编程开发 创意设计 认证培训 软件论坛
ASP ASP.NET PHP JSP SQL MYSQL Java VB

您的位置:学院 >> 编程开发 >> ASPNET >> VS2005(c#)项目调试问题解决方案集锦


VS2005(c#)项目调试问题解决方案集锦


  相关专题:Visual Studio 2005入门视频教程

  1.检测到有潜在危险的 Request.Form 值

  原因:

  (1)在提交数据的页面或webconfig中没有对validateRequest的属性进行正确的设置

  (2)HTML里面写了两个

引起

  解决:

  方案一: 在.aspx文件头中加入这句: <%@ Page validateRequest="false" %>

  方案二: 修改web.config文件: 

以下是引用片段:

 
 
 

 

  因为validateRequest默认值为true。只要设为false即可。

  2.“在没有任何数据时进行无效的读取尝试”解决办法

  原因:

  所返回的sqldatareader无数据记录,但没有作记录判断力处理。返回的是空值

  加上判断即可: if (reader.read()) { TextName.Text =

  reader["FieldName"].ToString(); }

  3.数据为空。不能对空值调用此方法或属性。

  原因:

  若对象是null,那么调用对象的方法例如ToString()肯定出错一般是数据库字段的值为空

  在grideview等数据控件常出现

  解决:因此建议作NULL处理

  4.阅读器关闭时 FieldCount 的尝试无效

  原因:

  使用了SqlDataReader来绑定数据后,将connection对象作了Close()处理

  类似

以下是引用片段:
public SqlDataReader   GetSomething()
{  
conn.open(); 
 SqlDataReader   reader =
sqlcmd.ExcecutReader(CommandBehavior.CloseConnection)); 
 conn.close();// occur error   here  
 return   reader;  
 }

  在绑定的时候调用了这个方法来指定数据源。如果使用这个方法则需要在调用函数中关闭Re

  ader这样conn就可以自动关闭。

  如果是使用的是SqlDataAdapter和DataSet那么请去掉显式关闭conn的调用。或者在finally

  中调用之。

  5.未能映射路径

  原因:可能是在webconfig中的路径配置不正确所致

以下是引用片段:

  6.Unreachable code detected

  原因:

  一般是在异常处理理或返回值时使用了 throw 或return ,可能是其位置放在前面,造成后面的代码执行到了。

  解决:

  把相关的异常抛出处理的语句(throw)或return 的语句放到代理执行的最后一行。

  7.索引超出范围。必须为非负值并小于集合大小

  原因:

  (1).没有设置DATAKEYFIELD设为数据库中相对应的唯一字段(一般是主键)

  (2).DataGrid1.Columns > e.Item.Cells

  解决:

  (1).设置datakeyfield

  (2).加入判断语句datagrid1.item.count (datagrid可以是其它相类似的服务器控件)

  推荐:Visual Studio 2005入门视频教程>>

  8.数据为空。不能对空值调用此方法或属性

  9.数据源不支持服务器端的数据分页

  解决方法:

  不要使用DataReader,改成使用DataSet:或使用自定义分页形式,不采用vs.net提供的分页功能

以下是引用片段:
  OleDbDataAdapter da = new OleDbDataAdapter(sql, connection);
  DataSet ds2 = new DataSet();
  da.Fill(ds2, "News");
  GridView1.DataSource = ds2;
  GridView1.DataBind();

  10.对象名'***** '无效

  原因:当前使用的数据库中没有*****这张表

  解决: 查看是否程序中是否写错了所调用的表的名称或看一下SQL数据库中是否存在你所调用的表

  11.在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL

  Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序,

  error: 40 - 无法打开到 SQL Server 的连接)

  solution: 主机上需要用固定的IP地址或服务器地址

  12.SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM

  之间。

  出现这种问题``多半是因为你更新数据库时``datetime字段值为空``默认插入0001年01月01

  日``造成datetime类型溢出

  13.出现-------表示“属性”,此处应为“方法”

  原因:

  1.VB与c#的方法,属性的格式有所不一样导致。

  2.可能是在design中绑定数据的语法出现错误 解决: 1.记住属性用[] 方法用()

  3.记住绑定数据的正确语法(有以下几种方式::<%Container.DataItem(“字段名”)%> <%

  #Eval(“字段名”)%><%Bind(“字段名”)%>等)

  14.未能从程序集“DAL, Version=1.0.0.0, Culture=neutral,

  PublicKeyToken=null”中加载类型“DAL.SqlHelper”。

  原因:修改了其他层后未能重新编译成dll

  解决:编译一下(Rebuild)

  15.为过程或函数 指定的参数太多

  solution:调用存储过程与定义的存储过程所用的参数数量或所执行的SQL语句中所传入的参

  数个数不一致(这是个SQL的错误)

  解决方案:仔细检查在存储过程中所设定的参数变量,与实际输入的参数值是否一一对应

  16.无法启动调试,绑定句柄无效

  原因:系统的Terminal Services没有开启

  17.Unable to debugging on the web server.Debug failed because integrated windows authentication is not enable

  解决方法:

  打开vs2005->工具(Tools)->选项(Option)->调试(debugging)->编辑并继续(Edit and Continue)->全部打勾

  18.Automation 操作中文件名或类名未找到: 'RegExp'

  解决方法:regsvr32 vbscript.dll

  19.System.NullReferenceException: 未将对象引用设置到对象的实例。

  原因:

  (1)所设置的变量为空值或没有取到值,一般出现在传递参数的时候出现这个问题,也会在使用datagrid或gridview或datalist等数据控件时出现.

  (2)控件名称与codebehind里面的没有对应

  (3)未用new初始化对象

  (4)在程序中所引用的控件不存在

  解决方法:

  (1)使用try..catch...finally捕捉错误,或直接用response.write()输出所取的变量值

  (2)查看代码中是否存在未初始化的变量

  20.错误 1718。文件被数字签名策略拒绝(安装vs2005sp1时)

  解决方法:

  (1). 单击“开始”,单击“运行”,键入 control admintools,然后单击“确定”。

  (2). 双击“本地安全策略”。

  (3). 单击“软件限制策略”。(注意:如果未列出软件限制,请右击“软件限制策略”,然后单击“新建策略”。 )

  (4). 在“对象类型”下,双击“强制”。

  (5). 单击“除本地管理员以外的所有用户”,然后单击“确定”。

  (6). 重新启动计算机。

  微软说明:

  http://support.microsoft.com/kb/925336

  21.vs2005不能从源文件模式切换到视图模式

  解决方法:dos下运行下 devenv /resetskippkgs (win+r cmd)

  22.Validation of viewstate MAC failed

  解决办法:页面的顶部page加 EnableViewState="False" EnableViewStateMac = "False" 来解决这个问题

  23.Automation server can't create object"(Automation 服务器不能创建对)

  解决办法:运行: Regsvr32 scrrun.dll 即可。

  24.包加载失败

  未能正确加载包"Visual Web Developer Trident Designer Package"(GUID =

  {30AE7E28-6C02-496D-8E43-85F7A90AEFF1}。

  解决方法:

  1、设置系统变量 VsLogActivity=1

  2、在%APPDATA%\Microsoft\VisualStudio\8.0\文件夹下创建文件ActivityLog.xml

  Error

  Microsoft Visual Studio

  LoadLibrary failed for package [Visual Web Developer Trident Designer Package]

  {30AE7E2B-6C02-496D-8E43-85F7A90AEFF1}

  --------------------------------------------------------------------------------

  8007007e

  c:\Program Files\Microsoft Visual Studio 8\Common7\Packages\tridsn.dll

  3、从 WINNT\MicroSoft.NET\Framework\v2.0.xxx 复制文件gdiplus.dll 到 Program Files\Visual Studio 8\Common7\Packages文件夹下

  4、在命令行下运行命令 :devenv /resetskippkgs

  25.Error spawning 'cmd.exe'.

  解决方案:把cmd.exe 拷贝到VS安装目录下的VC/BIN目录里,可以解决问题。

  26.尝试读取或写入受保护的内存

  解决:硬件有问题,一般内存有问题

  27.无法在证书存储区中找到清单签名证书

  解决方法:用记事本打开项目的.csproj文件,删除类似

  28.该项目中不存在目标“ResolveKeySource”。

  原因:这个问题很罕见,查询国外相关资料后,大致说是由于部署的不是一个标准的solution, 需要在VS自带的命令提示中运行下面这个东西恢复

  解决方法:

  (1).将下列代码存为XML文件,命名为TestBuild.xml

以下是引用片段:

 

     

            Data Source=.\sql2005%3BUser ID=SqlUser%3BPooling=False%3BPassword=X

     

     

           

           

     

 

     

           

            Properties="TargetConnectionString=$(TargetConnectionString)"

            Projects="@(DatabaseProject)"

            Targets="Build;Deploy">

           

     

  (2)在命令提示中运行:msbuild /t:BuildAllDatabaseProjects TestBuild.xml

  29.不能将值 NULL 插入列 '**'

  原因:这是数据库表设计的错误,所涉及的表的字段中设置了不能为空的属性,但是传入的值为null,所以报错

  解决方法:查看是否所传入的值是否为Null,或修改数据库中表的所对应的列的属性

  30.未能加载类型"命名空间.类"...

  原因:

  (1)项目修改后没有进行编译

  (2)项目中原有的命名空间可能被修改了

  (3)项目中所需要的ascx或其他页面不存在,或不包含在项目中

  解决方法:

  (1)在修改完成之后,请重新生成或编译整个项目或解决方案

  (2)手工修改所改动的命名空间,注意名称的大小写,再重新编译

  (3)将相关的文件包含在项目中

  31.不能访问只读文件“****.***"

  解决方案:

  给虚拟目录所对应的文件加上“Everyone/写入”权限即可

  32.请求因 HTTP 状态 401 失败:Access Denied

  解决方法:在iis信息服务器上把匿名访问和允许iis控制密码给勾上


技术文章快速查找

栏目导航
软件应用
·操作系统 ·杀毒防黑 ·应用软件
·聊天软件 ·网络软件  
Web开发
·ASP ·JavaScript ·CGI
·JSP ·VbScript ·Web服务器
·PHP ·XML  
开发语言
·VB ·VC ·ASP.NET
·Java ·C/C++ ·Delphi
数据库开发
·MySQL ·SQL/Access ·PowerBuilder
·Oracle ·DB2  
网站设计
·Flash ·Dreamweaver ·HTML/CSS
·Fireworks ·FrontPage  
平面设计
·Photoshop ·CorelDraw ·AutoCAD
·FreeHand ·Illustrator ·3DsMAX
媒体动画
·Director ·Authorware ·Maya
·视频处理    


相关软件 产品库推荐
·笔记本 ·台式机 ·服务器
·数码相机 ·手机 ·GPS
·DV摄像机 ·MP3 ·MP4
·CPU ·硬盘 ·内存
·主板 ·显卡 ·显示器
·打印机 ·投影机 ·路由器

还没人留言,抢个先,哈哈!
对"VS2005(c#)项目调试问题解决方案集锦"的评论 - 快速回贴
内容:
  [完成后可按Ctrl+Enter发布]

百度中 VS2005(c#)项目调试问题解决方案集锦 相关内容
Google搜索中 VS2005(c#)项目调试问题解决方案集锦 相关内容
雅虎中 VS2005(c#)项目调试问题解决方案集锦 相关内容
Sogou搜索中 VS2005(c#)项目调试问题解决方案集锦 相关内容

相关软件 最新回复帖子:

·没有mysql支持时的替代方案
·一个可以发送附件及HTML格式邮件的PHP类
·AutoCAD打造精致三维鸟笼实例详解
·Photoshop自定义水晶字特效样式
·AutoCAD三维基础实例教程
·PS为黑背景长发美女照片抠图换背
·用Photoshop自制个性摩托车贴花小经验
·轻松几步将美女照片处理为手工素描
·巧用Photoshop画笔轻松绘制创意特效
·用Photoshop通道将模糊肖像照片清晰化


  相关软件 VS2005(c#)项目调试问题解决方案集锦相关文章
ASP.NET 中通过对话框方式下载文件 asp.net 利用RAR实现文件压缩解压缩
关于 ASP.NET 在IIS一些问题的经验总结 请慎用ASP.Net的validateRequest=
关于 ASP.NET 技术的学习顺序问题 用 ASP.Net 中的自带类进行MD5加密
ASP.NET 生成静态页面实现方法 ASP.NET 2.0中保证应用程序的安全
ASP.NET移动开发之SelectionList控件 在ASP.NET 2.0中建立站点导航层次
在ASP.NET 2.0中使用样式、主题和皮肤 ASP.NET中利用VWD操作数据库
ASP.NET 2.0高级数据处理之数据绑定 ASP.NET 2.0移动开发之列表控件
ASP.NET中为GridView添加删除确认提示框 ASP.NET2.0的multiview和wizard控件
用ASP.NET2.0在数据库中存储二进制文件 ASP.NET定制简单的错误处理页面
ASP.NET中上传文件到数据库 在ASP.NET AJAX中别使用mode