"源码之前,了无秘密"------侯捷.很多人都知道,学习一个新东西最好的方法就是看高质量的源码.
目前正在看M$的MVC2.0,经过1天的学习之后,我搞明白它是什么玩意了.为了巩固学习成果,我决定看M$的Oxite2009215_CMS代码.
我的机器是Win7(旗舰D版,实在是穷的揭不开锅了)+VS2008(sp1+mvc2+sl3)+sql2008.
1)下载Oxite2009215_CMS,(地址:http://oxite.codeplex.com/releases/view/23315)
2)解压:这是目录结构
3)启动vs2008,打开项目解决方案->Oxite->Oxite.sln
4)生成解决方案.出错.
5)M$的项目是MVC1.0框架,我的电脑是MVC2.0框架(据我了解,这两个框架的区别还是有很多的,本文后面有提示).
6)下载工具.(地址:http://www.hmcweb.net/Mashup/d_0YeYYh0TFqo=.aspx)
7)解压后运行:变成这样的:
8)再次打开Oxite.sln
9)生成解决方案.出错.
10)这次是缺少东西:
a)Microsoft.Practices.Unity.dll AntiXSSLibrary.dll 缺少Microsoft.Security类似的东西.
第一个依靠微软企业库安装即可搞定.(地址:http://www.microsoft.com/downloads/details.aspx?FamilyID=bcb166f7-dd16-448b-a152-9845760d9b4c&displayLang=en) ,安装(这里有个小问题,后续有讲解)
b)下载AntiXSSV31.msi搞定后两个.(地址:http://www.microsoft.com/downloads/details.aspx?familyid=051EE83C-5CCF-48ED-8463-02F56A6BFC09&displaylang=en)注意安装时要选"both".
11)再次打开Oxite.sln
12)生成解决方案.出错.(源码的Unity是1.2版本(搭配EnterpriseLib_4.1)的,EnterpriseLib_5是2.0的,和配置文件冲突)
13)下载Unity1.2(地址:http://www.microsoft.com/downloads/en/details.aspx?FamilyID=2c8b79e7-ae56-4f90-822e-a1e43c49d12e&DisplayLang=en)
14)修改所有的引用,将2.0的变为1.2的
15)生成解决方案.出错.
16)Oxite.Mvc项目中的BlogML缺少.下载(地址:http://blogml.codeplex.com/releases/view/171)解压拷贝引用即可
17)有个namespace Oxite.Mvc.Infrastructure中提示override参数不对,这是1.0和2.0的版本问题,修改它
18)生成解决方案.出错.都是语法上的问题,加上ToString()就可以解决.
19)生成解决方案.出错.是Test中缺少引用xunit,
20)下载(地址:http://xunit.codeplex.com/releases/view/48360)解压拷贝引用即可
21)重新生成
22)设置起始页面(在MVC中这个确怪怪的,但是项目多了,设置一下).运行成功!注意:那个setup文件夹中的sql语句可以不执行.运行项目时会自动完成数据库的配置.
收工,看代码.