【踩坑经历】一次Asp.NET小网站部署踩坑和解决经历

2013年给1个大学的小客户部署过一个小型的Asp.NET网站,非常小,用的sqlite数据库,今年人家说要换台服务器,要重新部署一下,好吧,虽然早就过了服务时间,但无奈谁叫人家是客户了,二话不说,上,源代码和以前的文件都有,部署还不是分分钟的事情,打开IIS挂上去就行了。谁知道,这个部署将近花了2天的时间。看看踩坑过程和解决方法。

本文原文地址:http://www.cnblogs.com/asxinyu/p/4380380.html

  回来一看,9个反对,我心痛啊,这些童鞋,你们觉得这篇文章哪里有问题?让我辛辛苦苦写篇文章,情何以堪。。。

1.居然拿XP系统做服务器

  第一个坑其实和我没关系,客户以前用的服务器是Windows Server 2003,对于小网站来说足够了。这次换了服务器,不知道哪根筋抽住了,直接安装了一个XP系统,我远程进去一看,当时看到XP,莫名的冲动,居然IIS都没有,好吧,赶紧叫他们换。虽然XP也能安装IIS,对这个客户来说,无所谓,但拿XP来,的确是让我震惊。

  客户重新安装了一个Windows Server 2003,然后我再去远程部署。。。。还是一样的有坑

2..NET4.0的项目出现找不到2.0版的“System.Web”

  IIS简单的设置后,启动,一直提示对象为Null,打开日志一看,一大堆的这个错误:

22:36:36.015 1 W - System.IO.FileNotFoundException: Could not load file or assembly 'System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. 系统找不到指定的文件。
File name: 'System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
   at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
   at System.Reflection.Assembly.ReflectionOnlyLoad(String assemblyString)

  本来项目就是.NET 4.0的,以前的服务器也运行好好的,根本没改过,同样的代码,出现这个错误。找不到2.0版本的System.Web,我虽然不懂,但这也太诡异了,我是无法解释的。那就先 经过搜索引擎 看看啥情况,经过一番360和百毒,在这个页面找到点有用的信息:

http://www.cnblogs.com/yelaiju/p/3375168.html

然后按照文章的方法,下载补丁。。。可惜本来网速就不快,开远程,卡得要死,我就打开QQ想把文件传过去。。。狗日的腾讯,打开个QQ,弹出个页面,悲剧了,直接卡死。。好吧,啥都干不了了。。。

最后只能叫客户下载好,安装上去。。。但是问题依旧。。。后来群里有个朋友叫我在配置文件加上下面一段:

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

加上去,重启了一下,经过一番折腾,好像好了一段时间,但是又报错,Sqlite数据库只读,这个问题还是比较简单,把数据库所在文件夹打开,给user用户权限就搞定了。

  但是还是报上面哪个System.Web的错误,。。。。好吧,已经很晚了,本来想安装一个.net 2.0的环境看看是否有效,但无奈网速太坑爹,远程都进不去。。。。我放弃了,第二天再说把,

3.一招见效,安装.NET 2.0

  早上起来,速度快了一点,果断下载一个.net 2.0的环境安装上去,企鹅还是同样的坑爹,打开几分钟后才反应过来,只能忍,忍,忍,终于传过去了,安装好,,然后重启了一下,就好了。

  搞不懂啥原因,其实早就想到安装一个2.0的环境,但一直以为很容易就能解决,再加上坑爹的网速和企鹅的弹窗,死了好几回。。。

  留个脚印把,搞不懂原理,请高手赐教。

时间: 2024-07-30 10:53:02

【踩坑经历】一次Asp.NET小网站部署踩坑和解决经历的相关文章

Asp.Net小技巧之在client端调用server端事件

asp.net|client|server|技巧 Asp.Net小技巧之在client端调用server端事件: string strCMD = Page.GetPostBackClientHyperlink(ControlName,Parameter); OtherControlName.Attributes.Add("ClientEventName", strCMD); 小注:   在上述两行代码中,利用Page.GetPostBackClientHyperlink方法来取得对服务

一个小网站,使用iis6,asp语言,发现最近网站响应很慢,w3wp进程占用内存很高,怎么回事?

问题描述 一个小网站,使用iis6,asp语言,发现最近网站响应很慢,w3wp进程占用内存很高,怎么回事? 小网站,使用iis6,asp语言,发现最近网站响应很慢,w3wp进程占用内存很高,怎么回事 解决方案 一样发现这个问题,同问,一直以为是好久没启动会相对慢一点而已

如何做一个简单的小网站

如何做一个简单的小网站,请注意:拥有域名不代表你就有了网站.做之前要想一下,网站用来干什么?静态的还是动态的,自己至少要懂一点代码知识,不懂程序的话,也要对html多少了解一些. 不然,我建议你还是到各大网站申请个Blog写日志算了:) 如果你: 1.做个简历式的小网站 上面就放些文章,图片或者资料,且文件不多,那么选择静态空间就搞定.你可以自己或者找人来做个网页的模版,自己套内容就 可以. 整体下来只要99元,包括域名和空间.在http://www.nicenic.com/design/?s=

怎样做个小网站?

请注意:拥有域名不代表你就有了网站.做之前要想一下,网站用来干什么?静态的还是动态的,自己至少要懂一点代码知识,不懂程序的话,也要对html多少了解一些.不然,我建议你还是到各大网站申请个Blog写日志算了:) 如果你: 1.做个简历式的小网站 上面就放些文章,图片或者资料,且文件不多,那么选择静态空间就搞定.你可以自己或者找人来做个网页的模版,自己套内容就可以. 整体下来不超过100元,包括域名和空间. 2.流行的Blog 这个选择很多,而且有很多程序做得相当完善.你尽管看他们的预览来找一些中

网页-asp.net发布网站word组件不可用

问题描述 asp.net发布网站word组件不可用 最近给单位做了一个小的网站,里面涉及在网页中浏览word文档,引用了microsoft.office.interop.word组件,由于要保存格式,我就在文档上传的时候先把word文档转化成html格式,然后浏览的时候打开html格式文件. 在开发的电脑上,用VS2010运行良好,但是放到服务器上就不能正常运行了,一开始是缺少文件或者程序集"microsoft.office.interop.word",我重新装了office的.net

vs2013 asp.net 生成网站文件太多了,如何精简?

问题描述 做个小网站,生成后感觉好臃肿,bin.packages.Scripts,这几个文件夹就有60多兆,里面文件多如牛毛,ftp上传半天都传不完,感觉好痛苦难道里面的文件没有可以精简的吗?如何让网站文件数量减少,体积减小呢?感谢各位大虾指教,^_^ 解决方案 解决方案二:除了bin文件之外,那些诸如样式啊.脚本啊之类的文件夹内的文件如果没用到的,可以一律干掉啊.不过我觉得这些文件夹不会太大!!可能是生成项目时,VS自动添加了很多dll(有些实际却没用到的)!!底子好的就可以把那些干掉解决方案

ASP.NET MVC5网站开发之用户添加和浏览2(七)_实用技巧

一.数据存储层 1.查找分页列表 在写用户列表时遇到了问题,考虑到用户可能会较多的情况需要分页,在数据存储层写的方法是public IQueryable<T> FindPageList<TKey>(int pageSize, int pageIndex, out int totalNumber, Expression<Func<T, bool>> where, Expression<Func<T, TKey>> order, bool

ASP.NET MVC5网站开发之用户资料的修改和删除3(七)_实用技巧

这次主要实现管理后台界面用户资料的修改和删除,修改用户资料和角色是经常用到的功能,但删除用户的情况比较少,为了功能的完整性还是坐上了.主要用到两个action "Modify"和"Delete". 一.用户资料修改(Modify) 此功能分两个部分: public ActionResult Modify(int id) 用于显示用户信息 [httppost] public ActionResult Modify(FormCollection form)用户就收前台传

小网站生存之道究竟在哪里?

中介交易 SEO诊断淘宝客 站长团购 云主机 技术大厅 有人曾经怀疑,在互联网2.0时代,小网站的发展将陷入一个新的困境,尤其是个人博客和播客的发展抢走了太多的风头,那么小网站是不是真的就没有了发展的土壤呢?对此,我们的观察恰恰相反,我们认为小网站不是没有发展空间,相反在这个个性化的网络时代,小网站大有作为.当然,这种作为是建立在对市场的敏感把握,以及能够及时地调整自己的战略,真正为广大网民提供最方便的引导服务,这样才可以独辟蹊径杀出一条血路. WEB2.0时代,网络的发展给网站带来新的变化,这