这两天我独立做的项目要上线了,客户给我提供了服务器,安装了数据库,剩下的工作我要独立完成。
1、发布网站,首先,服务器上要安装IIS。服务器版本是Windows Server 2008 R2 企业版的,在网上随便搜一下,就有在这个系统上安装IIS的具体步骤,很简单,这里就不赘述。
2、安装完IIS之后还要安装.net framework。系统内置.net framework版本是2.0的,我的项目用的是4.0,所以我要安装.net framework4.0。去官网上下载了一个,安装之后程序却无法运行,要么是以目录的形式呈现,并且报500.21错误。网上解决500.21错误的方法都是重新安装.net framework,然而,并没有什么用。网上有的还说是因为这个系统不支持.net framework4.0,要安装一个sp1的包,说是只有1M,我搜索了一下,小的也得几百兆,感觉并不能解决问题。无奈之下,向经理询问解决办法,经理告诉我这个系统早就支持了,为什么不直接安装.net framework4.5的版本,.net framework4.5本身就包含4.0。于是就抱着尝试的态度去做了。
终于,成功了,程序能运行起来了。
3、程序能运行起来还只是第一步,我内置了一个账号去登录,可是怎么都登录不进去,都是抛异常。在一步一步的测试下,发现是更新时间就抛异常。然而,我在本地测试时没事,在公司的服务器上测试也没事,但是为什么一放在客户的服务器上就出事了呢,我仔细对比两者的差异。哪里不同呢,服务器的数据库用起来和我本地的数据库不太一样,服务器的数据库是2005的!!!本地的数据库是2008的,2005和2008的区别在哪?可就算是有区别,区别也不应该大到换了版本就完全不能用吧。哪里除了问题呢。提示的bug是:更新条目时出错,出错的原因是发现不明确的匹配。网上说的发生的不明确的匹配都是由于有重名的变量造成的,可是我也没有重名的变量啊,这到底是什么原因呢?我一直陷在这种思路里出不来。隔了一天,又来思考这个问题,还是觉得差异就在数据库,于是我终于找到问题的症结。
我建立数据模型的时候,用的是数据库2008,服务器用的是2005,所以格式不兼容。
解决办法很简单:
1.右键数据库模型->选择"打开方式"
2.选择“XML(文本)编辑器”->点击“确定”
3.找到“ProviderManifestToken="2008"”,将2008改为“2005”即可。
到此,这个项目终于发布成功了。