牛腩新闻发布系统错误总结

    牛腩进行了四十多天终于发布成功完成了,这期间遇到了很多很多的错误,一些错误通过不断的调整比较容易解决,我在这里简单说一下我认为比较有代表性的错误。

一、"/"应用程序中服务器错误,无法使用前导,在顶级目录中退出

牛腩新闻发布系统错误总结_第1张图片

    遇到这个问题想牛腩视频中没有报错而我的不行,一定是我忽略了什么地方才这样的,后来重新看了视频发现代码和老师的是一样的,然后通过上网搜索这个问题,知道是因为路径的问题,但是具体是哪个路径,经过修改发现了,原来的代码:

<span style="font-family:KaiTi_GB2312;font-size:18px;"><span style="font-family:KaiTi_GB2312;font-size:18px;"><%@ Page Title="类别管理-新闻发布系统" Language="C#" MasterPageFile="~/common.Master" AutoEventWireup="true" CodeBehind="categorymanager.aspx.cs" Inherits="我的牛腩.admin.categorymanager" %>
</span></span>
经过修改后的代码:

<span style="font-family:KaiTi_GB2312;font-size:18px;"><span style="font-family:KaiTi_GB2312;font-size:18px;"><%@ Page Title="类别管理-新闻发布系统" Language="C#" MasterPageFile="~/admin/common.Master" AutoEventWireup="true"CodeBehind="categorymanager.aspx.cs" Inherits="我的牛腩.admin.categorymanager" %></span></span>
    可以看出我把母版页的路径修改了一下:MasterPageFile="~/admin/common.Master",总觉得是不用管这里的,因为这个地方的代码是自动生成这样的,不是手动输入的,but它真的成功了。这种不报错的时间持续了一天,第二天还是报相同的错误,修改了路径也不行,请教了别人也没有解决,最后经过测试,如果把categorymanager放到admin文件夹外面就可以了,因为总没有解决,就暂时放到外面了,不过这不是根本的解决办法,但是值得肯定的是由于路径的原因造成的,如果遇到这个错误,就去检查路径。

二、"/"应用程序中服务器错误,WebForms UnobtrusiveValidationMode 需要“jquery”ScriptResourceMapping

牛腩新闻发布系统错误总结_第2张图片

  出现问题的原因:WebForm使用UnobtrusiveValidationMode來验证,而我们没有这种验证的资源,所以就会报错,解决办法一共有三种:详细见我宋笑师傅的博客(请点击),我试过了三种方法都可以解决。

三、错误为Lc.exe已退出,代码为-1

    不知道为什么突然报这个错,不过肯定是有原因的,但是就我现在这个菜鸟级的水平还不知道为什么,网上搜索的解决办法都没能解决我的问题,但是知道原因是项目中使用了第三方组件,这个第三方组件是个商业组件,他在组件的主使用类定义了LicenseProvider(typeof(LicFileLicenseProvider)) 这个Attribute。 

    VS在编译时检测到这个类的时候,会检查到组件使用的是LicFileLicenseProvider这个属性,表示有组件使用的是把许可的辅助信息保存在license.licx文件中,这个文件保存在VS中解决方案资源管理器中的Properties文件夹内。 

    这个文件的内容实际上是个引用,他保存着你使用的第三方组件主使用类的名称空间+类名+文件名+文化+PublicKeyToken信息,这个文件是自动生成的,检查了一下确实是这样的。 

    如果这个信息与你使用的组件dll中的实际内容不匹配,则lc.exe就会出现这个错误信息。这个信息出现的原因是你在项目中使用了商业组件的测试版,而在发布的时候使用的是哪个商业组件的破解版。大部分的商业组件经过破解的时候,强名称签名就会消失,所以破解的组件与原来的测试版组件的引用信息是完全不同的。故每次编译的时候,VS自动调用语言编译器之前会调用lc(许可编译器),就会出现-1错误。

     明白了这个原因,就检查了一下添加的引用的组件,发现还在,由于网上的解决办法不行,于是就重新添加引用了一下之前添加的组件,错误就解决了。虽然网上的解决办法不行但是也学到了知识。

四、牛腩发布后网页显示与代码运行显示时不一致

      本来代码运行着好好的,没有错误,但是发布之后首页就变成下面的这样的了

 牛腩新闻发布系统错误总结_第3张图片

    没有验证码而且布局是错的,在想是不是兼容性问题,一般情况下都是因为兼容性的,发现用各个网站打开都是这样的,这个问题困扰了很久,没有验证码就不能登陆进去看其他的。发布网站是使用的IIS发布的,推荐齐伟的博客,win8安装IIS然后发布,步骤很详细。经过我努力的调试和发布,排除了代码问题,将原因锁定在发布上,最后找到原因是因为添加默认文档时填写的名称问题,之前是这样写的,如下图:

牛腩新闻发布系统错误总结_第4张图片

     最后重新发布修改为:admin/Login.aspx这样重新发布后就可以了 ,我的启动首页是login.aspx,但是这个文件在admin文件夹下面,添上就可以了,虽然现在我还不知道为什么但终究是解决了,好开森~

五、总结

     整个牛腩的过程中真的遇到了很多错误,有时自己解决不出来就叫伙伴来帮忙,发现其实也不是很快就调出来,从他们调错误的过程中,我体会到遇到问题就是要敢想,要努力做各种尝试,去试验,去做各种各样的调试。慢慢地依靠自己来解决错误,有时为了解决错误一集视频看两三遍,一个类一个类的排除,做各种尝试,最后发现自己解决了那么多开始觉得很无语的错误,最后的心情是超级兴奋的,也真正的超级深刻的体会到在错误中成长这个道理,通过调试对代码熟悉了很多,遇到问题要尽量自己解决,不要总觉得还可以请教别人。一些思想也许意识到的有些晚,但终究是体会到了,这也是一种成长吧!

你可能感兴趣的:(牛腩新闻发布系统)