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的环境,但一直以为很容易就能解决,再加上坑爹的网速和企鹅的弹窗,死了好几回。。。

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

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

  1. ASP.NET CORE网站部署到 windows server 的IIS 上去

    章基于我自己经验的一个总结,在windows服务器上部署asp.net core网站.环境是 windows server 2012数据中心版本 第一步先安装 IIS 服务器 接下来就是一路下一步,然 ...

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

    首先交代一下服务器的环境配置 系统是WIndows Server2012(配置的时候选的是全能环境),服务器是IIS8 由于装了VS2012,所以系统也自动装上了.Net Framework4.5,M ...

  3. 阿里云 Windows Server 2012 r2 部署asp.net mvc网站 平坑之旅

    做了多年的Web开发工作,网站部署也不在话下,可每次部署却并不是十分顺利,将本次在阿里云服务器上部署asp.net mvc网站遇到的问题记录如下. 平台是阿里云ECS,操作系统是 Windows Se ...

  4. ASP.NET Core 网站在Docker中运行

    Docker作为新一代的虚拟化方式,未来肯定会得到广泛的应用,传统虚拟机的部署方式要保证开发环境.测试环境.UAT环境.生产环境的依赖一致性,需要大量的运维人力,使用Docker我们可以实现一次部署, ...

  5. 我的微信小程序入门踩坑之旅

    前言 更好的阅读体验请:我的微信小程序入门踩坑之旅 小程序出来也有一段日子了,刚出来时也留意了一下.不过赶上生病,加上公司里也有别的事,主要是自己犯懒,就一直没做.这星期一,赶紧趁着这股热乎劲,也不是 ...

  6. 小程序——微信小程序初学踩过的坑

    微信小程序初学踩过的坑 一.前言     最近因为某些需要和个人兴趣打算开发一下微信小程序,经过在官方网站上的基本了解,我大体知道了微信小程序开发的大致过程,其实最本质的就是MVVM,借用了很多模式上 ...

  7. 【微信小程序】踩坑指南(持续更新)

    前言 说明: 基于mpvue框架:mpvue官方文档 语法同vue框架:vue官方文档 小程序中会有一些坑点,这里会就工作中遇到的坑一一列举出来 无说明时请直接看代码注释 v-show无法使用在小程序 ...

  8. 小程序 & taro 踩坑指南

    小程序 & taro 踩坑指南 微信开发者工具, 不支持 react bug https://github.com/NervJS/taro/issues/5042 solution just ...

  9. ASP.NET Web 应用 Docker踩坑历程——续

    ASP.NET Web 应用 Docker踩坑历程发表后,也开始使用Docker了,然而发布的过程比较痛苦,经常发生下图的事情: 据说是nuget包还原时发生错误 百度了半天也找不到解决的方法,而发生 ...

随机推荐

  1. 8.2 辅助 xUtils 3.0

    主要有四大模块: DbUtils模块: android中的orm(对象关系映射)框架,一行代码就可以进行增删改查: 支持事务,默认关闭: 可通过注解自定义表名,列名,外键,唯一性约束,NOT NULL ...

  2. C2第八次解题报告

    看过题解后如果觉得还算有用,请帮忙加点我所在团队博客访问量 http://www.cnblogs.com/newbe/ http://www.cnblogs.com/newbe/p/4069834.h ...

  3. win server服务安装

    从一台机子的服务移到我的测试环境中: 1.copy 100pC上的服务目录(d:\...)到13PC中

  4. yii2更改面包屑的首页链接

    <?= Breadcrumbs::widget([ 'homeLink' => ['label' => 'Home', 'url' => Yii::$app->getHo ...

  5. Hibernate Id Generator and Primary Key

    Use automate id by hibernate: If you want the tables' id be created automation. How to do it? When u ...

  6. 解剖SQLSERVER 第九篇 OrcaMDF现在能通过系统DMVs显示元数据(译)

    解剖SQLSERVER 第九篇  OrcaMDF现在能通过系统DMVs显示元数据(译) http://improve.dk/orcamdf-now-exposes-metadata-through-s ...

  7. Blend 2015 教程 (一) 基础

    微软公司在Visual Studio 2015产品套件中作出了许多革命性的变更,包括.NET开源,.NET服务器端部分跨平台,推出向个人和小团队免费的社区版,移动应用开发部分跨平台支持,商店应用支持C ...

  8. 可在广域网部署运行的QQ高仿版 -- GG叽叽V2.0,增加网盘和远程磁盘功能(源码)

    尽力2~3周发布一个版本,我这次也没有失言.这段时间内,我仿照QQ的微云功能,在GG中增加了网盘的功能,而且,我还自创了一个QQ没有的新的功能:远程磁盘.正如远程桌面一样,远程磁盘允许我们像访问本地磁 ...

  9. 【腾讯优测干货】看腾讯的技术大牛如何将Crash率从2.2%降至0.2%?

    小优有话说: App Crash就像地雷. 你怕它,想当它不存在.无异于让你的用户去探雷,一旦引爆,用户就没了. 你鼓起勇气去扫雷,它却神龙见首不见尾. 你告诫自己一定开发过程中减少crash,少埋点 ...

  10. nginx(1、正向代理)

    正向代理是指客户端通过代理服务器访问某一个服务器,最常见的例子是内网用户通过代理访问外网,以及所谓的“FQ”. 在windows下实例如下: 1.下载安装包:nginx-1.7.9.zip: 2.解压 ...