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

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

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

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

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

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-08-07 20:59:41

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

ASP.NET MVC4网站部署在阿里ECS云服务器(WIndows Server 2012+IIS8环境)

首先交代一下服务器的环境配置 系统是WIndows Server2012(配置的时候选的是全能环境),服务器是IIS8 由于装了VS2012,所以系统也自动装上了.Net Framework4.5,MVC4等 数据库为SqlServer2005,直接在服务器上装的数据库系统 如果在服务器上装vs2012这些软件的时候装不上去又不知道怎么回事的时候 去阿里售后提交一下工单就好了,把问题描述一下,他会说这是第三方软件的问题,会给你一个专门处理这些问题的第三方公司 然后给你一张代金卷,金额刚好是那个公

您可能不知道的ASP.Net小技巧

<!-- 页码和简介 --> 1.  在提交页面之后,保持滚动条的位置 可以在page指令上加上MaintainScrollPositionOnPostback指令 <%@ Page Language="C#" MaintainScrollPositionOnPostback="true"AutoEventWireup="true" CodeFile="..." Inherits="..."

微信小程序开发填坑指南V1

近期用了一星期的时间,开发了一个小程序.小程序名称是:小特Jarvis,取自钢铁侠的管家. 后台采用C#编写,WebAPI接口.其实开发时间并不多,小程序本身提供的API,相比公众号的API来说,已经封装了好多东西,我们只负责简单调用即可.而且,提供的开发工具也很方便,开发环境和VisualStudio很类似,包括快捷键(不知道Java的开发员是不是也有这感觉?) 好了说重点.今天是个总结,把这一星期开发时遇到的坑整理下,希望其他人遇到时能有个参考.其实开发的坑不多,部署的坑最多.开始咯 1,多

mpvue 小程序开发爬坑汇总

<!-- 小程序的爬坑记录 --> 1 微信小程序之动态获取元素宽高 var obj=wx.createSelectorQuery(); 2 微信小程序图片自适应 <image class="themeImg" :src="themeImg" mode="widthFix" /> mode设置为widthFix 宽度100% 3.小程序上拉加载 下拉刷新 4.通过 this.$root.$mp.query 进行获取小程序在

微信小程序的那些坑

早闻微信小程序是个坑,结果名不虚传,细数一下我开发小程序遇过到坑. 1.UI组件过度封装. 微信小程序的组件是模仿react.js或vue.js的web组件设计的,并且封装了weui.css样式. PS:实现自定义多选或多选.(看微信小程序开发社区的问题,没有很完整的解决方案,于是自己摸索了一个方法) wxml <checkbox-group class="checkbox-group"> <label class="checkbox-label"

使用delphi+intraweb进行微信开发2—intraweb以.net方式发布(以asp.net mvc4模式部署)在IIS(.net虚拟主机)上

在第一讲使用delphi+intraweb进行微信开发1--微信平台接入中我们编写了一个简单的微信接口程序,这个程序我是用Stand Alone Server / Service 方式编译的程序,并且将端口设置成80进行的微信接口测试,但是实际使用时为了更好的服务器性能我们一般采用iis作为web服务器,以往的情况下iw需要编译成isapi部署在iis上.但是由于自打iis7以后iis对isapi的态度发生了很大变化(推荐使用fastcgi了)导致编译好的isapi很难在iis7.5上部署成功,

浅谈小网站SEO的几点建设方法

现在很多小企业也开始建站,那该怎样做好小企业的seo呢? 1.通过seo树立品牌 对于小企业来说,当然不能做到像大型企业一样品牌人人皆知.但是与其他同等小企业.竞争对手相比,如果能够在搜索引擎结果中表现良好,就可以树立 良好的形象.所谓"排名第一就是品牌",在搜索引擎中排名第一就能让客户感觉到企业是一个充满活力.办事认真.积极上进的组织,客户第一面就打上了良 好的印象分.排名第一带来的客户在互联网真是数不甚数.那么如何通过seo树立品牌呢?第一,要使自己的企业名.地区行业关键字排名第一

在 Mac OS 上创建并运行 ASP.NET 5 网站

在 Mac OS 上创建并运行 ASP.NET 5 网站? 提示 本文链接: http://cnblogs.com/qin-nz/p/5035619.html 或 http://blog.qin.nz/aspnet5/aspnet5-first-app-on-mac-os.html 相信用 Mac 作为主力机型的各位是不会玩 ASP.NET 的,所以我真的很怀疑我这篇文章会有人看么? 安装 .NET 版本管理器(DNVM)? 首先,我们需要安装 .NET 版本管理器,其实就是一个脚本文件用来帮助

相信很多朋友遇到过网站换服务器的问题,或成功或失败!今天3A网络小钱给大家讲的是自己的一个亲身经历,原先小钱有一个网站是在linux服务器上运行,所用的web服务为nginx+mysql+php,但由于服务器到期,新服务器用的是win2008系统,那就需要只能做好迁移! 前期做的准备 1、必须了解自己网站所用的PHP和MySQL的版本 2、网站大小

相信很多朋友遇到过网站换服务器的问题,或成功或失败!今天3A网络小钱给大家讲的是自己的一个亲身经历,原先小钱有一个网站是在linux服务器上运行,所用的web服务为nginx+mysql+php,但由于服务器到期,新服务器用的是win2008系统,那就需要只能做好迁移! 前期做的准备 1.必须了解自己网站所用的PHP和MySQL的版本 2.网站大小 3.数据库大小 由于网站过于巨大90G,而linux服务器上磁盘空间不够无法压缩,最后我选择的办法是使用FTP传,没想到什么好办法. 网站的数据库大