使用WebDeployment Project改善VS2005发布网站问题 (三) 常见问题
一、发布后网站浏览时出现乱码(http://www.cnblogs.com/chy710)
如果页面编码是gb2312,可能会有此问题,请使用utf-8编码,vs2005中打开页面切换到HTML视图,选择[文件] / [高级保存选项],选择utf-8,保存,OK。
二、发现不明确的匹配(http://www.cnblogs.com/chy710)
一般为控件名与变量名重复,如在页面中有个控件,其代码如下:
这种确实不好找,但可以保证是个别页面出现此问题,如果每个页面都这样,那早都打包走人了,还做啥撒。打开浏览出错的那个页面仔细检查修改之,即可搞定,看来平时的编码风格、命名规范是多么重要呀。
三、"aspnet_merge.exe"已退出,代码为1(http://www.cnblogs.com/chy710)
这个可是一个疑难杂症,说白了、还是编码风格不好造成滴;症状如下:
设置在项目生成是输出详细信息:
再次生成,输出有详细信息了:
这里文本很多,可以copy出来到一个text文件方便查看,其实最主要还是结尾部分会有错误提示,比如:
如果页面编码是gb2312,可能会有此问题,请使用utf-8编码,vs2005中打开页面切换到HTML视图,选择[文件] / [高级保存选项],选择utf-8,保存,OK。
二、发现不明确的匹配(http://www.cnblogs.com/chy710)
一般为控件名与变量名重复,如在页面中有个控件,其代码如下:
<asp:TextBox ID="txtName" runat ="server" ></asp:TextBox>
而在对应的cs文件中可能定义了这样一个变量:
string txtName = null;
如果是这种情况,那么恭喜你,中招了, ,在生成时不会有错误提示,但你发布后浏览时会提示“发现不明确的匹配...”这种确实不好找,但可以保证是个别页面出现此问题,如果每个页面都这样,那早都打包走人了,还做啥撒。打开浏览出错的那个页面仔细检查修改之,即可搞定,看来平时的编码风格、命名规范是多么重要呀。
三、"aspnet_merge.exe"已退出,代码为1(http://www.cnblogs.com/chy710)
这个可是一个疑难杂症,说白了、还是编码风格不好造成滴;症状如下:
设置在项目生成是输出详细信息:
再次生成,输出有详细信息了:
这里文本很多,可以copy出来到一个text文件方便查看,其实最主要还是结尾部分会有错误提示,比如:
An error occurred when merging assemblies: ILMerge.Merge: ERROR!!: Duplicate type 'UserInfo' found in assembly 'App_Web_crgbyvhk'.
大概意思是:在程序集"App_Web_crgbyvhk"中找到相同的类型"UserInfo",这样范围就缩小了,在项目中找UserInfo相关就行了,常见一种低级错误如:已经有UserInfo这样一个类,而又copy了一个在此基础上修改,但愚蠢的是没有改原来的类名
public partial class UserInfo : System.Web.UI.Page
找到且修改此类错误可以生成成功了。