网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > ASP.NET技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.asp.net创建文件夹的IO类的问题.
.在.NET开发中灵活使用TreeView控.
.ASP.Net2.0 GridView 多列排序,.
.asp.net全局异常处理.
.字符自动截取问题.
..net 2.0中新增的nullable类型.
.ASP.NET中使用Apache log4net .
.中国地区三级联动下拉菜单代码和.
.利用OpenSmtp.Net发送需要smtp验.
..NET在SQL Server中的图片存取技.
..NET3.5和VS2008中的ASP.NET AJAX.
.为datagrid的自带分页添加首页、.
.ASP.Net环境下使用Jmail组件发送.
.五种常见的ASP.NET安全缺陷.
.在ASP.NET中从SQL Server检索图片.
.ASP.NET设计网络硬盘之删除文件夹.
.ASP.NET RSS Toolkit(RSS工具) .
.File.Delete不能删除文件的问题.
..NET自动字符编码识别程序库 NCh.
..NET Framework与.NET Framework.

对NDoc支持.net2.0的异常分析及解决

发表日期:2006-11-29


        最近在开发项目时,准备用NDoc来产生类库的帮助文档。下载了破宝(percyboy)汉化的1.3版本,看文档说是支持.net2.0,但在使用时,发现应用NDoc来从解决方案新建NDoc项目时出现异常,不能成功地生成帮助文档。
        下载源程序,用vs.net2005转换打开ndoc的解决方案进行调试,修改bug,调试通过,特记录相关的bug及解决方法如下,如想用NDoc来产生vs.net生成的程序集的帮助文件时,可照此处理。
         1、如果解决方案中的项目处于一个中文名字的目录中时,不能处理抛出异常。原因在于ndoc在解析解决方案文件时,使用的utf编码来打开解决方案文件,导致中文不能正确处理。解决方法:打开gui项目下的solution文件,定位到read方法,将打开文件的代码using (reader=new StreamReader(path))用using(reader=new StreamReader(path,System.Text.Encoding.GetEncoding(0)))代替。StreamReader的具体使用方法可以参考msdn。
         2、解析项目文件时,由vs.net2005生成的项目文件本质上是xml文件,但有的是<?xml version="1.0" encoding="utf-8"?>标记,有的项目文件没有,原因不详,也没有时间去分析具体原因,如那位知道请一定告诉我。这样导致在处理项目文件时需要分情况处理,我分析ndoc原来的思路也是这样的,可能2005以前的版本这两种项目文件的格式不一样,所以ndoc在解析项目文件时分情况进行了处理。但用vs.net2005生成的项目文件,虽然也有这样的区别,但格式是一样的,并不需要分情况处理。解决方法:打开gui项目下的project文件,定位到GetConfiguratin(string configName),将以下代码:   
        if (_ProjectDocument.FirstChild.Name == "Project")
            {
                nodes = _ProjectNavigator.Select(string.Format("VS2005:Project/VS2005:PropertyGroup[@Condition=\" '$(Configuration)|$(Platform)' == '{0}|AnyCPU' \"]", configName), _ProjectNamespaceManager);
            }
            else
            {
                nodes = _ProjectNavigator.Select(String.Format("/VisualStudioProject/CSHARP/Build/Settings/Config[@Name='{0}']", configName));
            }
     替换为:
            nodes = _ProjectNavigator.Select(string.Format("VS2005:Project/VS2005:PropertyGroup[@Condition=\" '$(Configuration)|$(Platform)' == '{0}|AnyCPU' \"]", configName), _ProjectNamespaceManager);

        作了如上处理后,编译通过后,用ndoc的从.net解决方案新建ndoc项目功能时能够正常处理,但不知这样处理后是否会对2005以前的版本产生的解决方案有不良影响,不过,2005推出时间也不短了,大部分的项目应该都迁移到2005下了,所以影响应该不大。

http://www.cnblogs.com/yxy21969/archive/2006/11/28/575257.html

上一篇:比较:HyperLink控件、LinkButton控件 之间的异同 人气:5131
下一篇:SQL Server精简版支不支持ASP.NET? 人气:4056
浏览全部asp.net的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐