首页 Soft PlugIn RAN乱 Dev开发 Info资料 English WAP 留言 登陆 注册
-
Posted by Yippee | 评论(0) | 引用(0) | 阅读50次
20080510 c# Activator.CreateInstance

20080510 c# Activator.CreateInstance
http://www.shengfang.org


#region 动态加载
            Type type = Type.GetType("sf.sfsf" + htheader["x-extern-sf"]);
           
            object obj = Activator.CreateInstance(type);
           

            object[] o ={ str, htheader };
            int i = (int)type.InvokeMember("sfsfsf", BindingFlags.InvokeMethod, null, obj, o);
            i = (int)type.InvokeMember("sfsfsfsf", BindingFlags.InvokeMethod, null, obj, o); //REF 参数
            str=(string)o[0];
            htheader=(Hashtable)o[1];
           
#endregion

```````````````
VS2005中,断点无效,调试运行时如图所示:

解决方法一:

工具→选项→调试→常规,将“要求源文件与原始版本完全匹配”的勾去掉即可。

解决在VS2005中“当前不会命中断点。源代码与原始版本不同”的问题[转载]
2008-04-18 10:52

今天在Visual Studio 2005中调试某个程序时遇到一个奇怪问题

就是在某个源文件中设置的断点老是无效,提示“当前不会命中断点。源代码与原始版本不同”信息

清理项目、重编项目、重新拷贝原文件都解决不了问题

“工具”,“选项”,“调试”,“要求源文件与原始版本完成匹配”去掉勾。

另外通过重新格式化出问题的源文件亦可以解决,即在VS2005中选择 “编辑”-“高级”-“设置选定内容的格式”。

在Vs2003进行程序开发时,有时候在调试时会发现设置了断点,但是没有任何作用。当鼠标放在断点上是,会提示当前不会命中断点。还没有为该文档加载任何符号。

        具体什么原因造成这个错误,暂时没有弄清楚。但是解决办法是:右击“解决方案”--》“配置管理器”--》新建“活动的解决方案配置”--》在“新建解决方案配置”对话框的“解决方案配置名”中输入一个名字,其它什么都不用修改--》确定。

    重新运行,设置的断点就起作用了!
还可以按以下步骤进行处理: 1.打开项目属性页,检查“配置属性”下的“生成”中的细项,其中“生成调试信息”的属性是否设置为true,如果没有,就把它设置为“true”。 2.确认完以上属性后,如果仍然出现该错误,就需要采用如下解决办法了。假设我的项目名称这VPN,这时,可以在以下路径中找到VPN.dll的文件: “C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\vpn\d3cf95ee\36ebe08d\assembly\dl2\fb705b8f\e8bed8ad_155ec601”,删除该文件后就可以正常调试了。

我在调试加入断点时,提示 当前不会命中断点。 还没有为该文档加载任何符号 ?

原因:

1.当前代码与程序dll不一致,可能需要重新编译  
2.当前的dll只读  

解决方法:

 生成   -->配置管理器   活动的项目配置中新建以默认值设置的方案.  
  这时会在BIN目录下生成一个以方案名命名的目录,所有调试时用的DLL,和EXE文件,就会在目录里生成,同时,OBJ目录里,也会有这么一个目录

  public   class   A 
  {  
  public   void   AMethod(ref   int   param) 
  {  
  param   =   10; 
  } 
  } 
  private   void   Form1_Load(object   sender,   System.EventArgs   e) 
  {  
  A   a   =   new   A(); 
  int   param   =   0; 
  object[]   theParams   =   new   object[]{ param }; 
  typeof(A).InvokeMembe(   
                                                      "AMethod", 
                                                      System.Reflection.BindingFlags.Instance| 
                                                      System.Reflection.BindingFlags.Public   | 
                                                      System.Reflection.BindingFlags.InvokeMethod, 
                                                      null, 
                                                      a, 
                theParams); 
  param   =   (int)theParams[0]; 
  }


字体:

Permanant URI永久地址 http://www.shengfang.org/blog/p/20080510csharpActivatorCreateInstance.php
Trackback URI引用地址 http://www.shengfang.org/blog/tb.php?tb_id=1233072525

2009年1月28日00:08星期三  [Dev开发] 追踪此文的RSS
提示:
此文还没有评论。

称呼:    登陆   注册
   不注册,但记住我的信息
邮件:
(非必须)
评论: [UBB代码帮助]
粗体 斜体 下划线 链接 水平线 引用



验证码: 请输入你看见的数字
关闭UBB      提交时自动将内容复制到剪贴板

公告
Fire and Motion!

统计信息
[Yippee]||[统计]||日志:1790
在线: 8||用户: 2562 [列表]
今日:2356||到访:2677172
Rss:840220||评论:1584

最新日志

最新评论

友情链接

日历

最新引用

搜索

归档

杂项
Get RSS Feed (Version 2.0)
Get Atom Feed (Version 0.3)
编码:  UTF-8