调试、部署Oxite 开源系统
Oxite 是微软近期发布了一个开源CMS或博客平台,关于Oxite 系统的基本介绍,请参考文章 - 微软发布Oxite开源CMS博客平台。
这里,EntLib.com 开源论坛小组一步一步详细介绍如何编译、调试和部署 Oxite 系统。假设你的系统已经有SQL Server 2005 和 Visual Studio 2008。
1. 首先下载并安装 ASP.NET MVC 开发包。
ASP.NET MVC下载地址:
如果你之前有安装 ASP.NET MVC 的前期版本,则你需要先下载早期的版本。ASP.NET MVC 的安装过程很简单,这里就不具体介绍了。
关于ASP.NET MVC 的介绍,推荐你阅读如下文章:
2. 下载 Oxite 开源软件。
展开压缩文件,通过 Visual Studio 2008 打开Oxite.sln 项目文件。先看看项目文件:
接下来,设置 OxiteSite 项目为启动项目(Set as Startup Project)。编译整个Oxite 项目,整个项目编译通过。到现在,一切都很顺利。
但是,当你运行OxiteSite 项目时,Visual Studio 2008 会提示你Deploy Failed-发布失败。仔细看看,这是Oxite.Database 项目产生的。
最简单的解决办法是,右键单击Oxite.Database项目,选择 Unload Project 或者 Remove 菜单项,如下图所示。
现在,你再次运行Oxite 项目,发现可以正常运行了,并且显示如下运行界面。
Oxite.Database 项目到底有什么用呢?这里,Oxite.Database 项目用来创建Oxite 数据库,由于OxiteSite Web项目采用的是SQL Server Express进行 Oxite 数据库连接。数据库连接字符串Connection String 如下:
<connectionStrings>
<add name="ApplicationServices" connectionString="Data Source=.\SQLEXPRESS;AttachDBFileName=|DataDirectory|Oxite.Database.mdf;Integrated Security=true;User Instance=true;"/>
</connectionStrings>
默认,数据库文件存放在\OxiteSite\App_Data 目录下。所以,上面的Oxite.Database 项目可以直接Unload 或者 Remove。
如果你想通过Oxite.Database 直接在SQL Server 2005 创建一个Oxite 的数据库,你也可以按照如下的步骤,轻松创建Oxite数据库。
首先,需要修改Oxite.Database 项目的一些设置,如下图所示:
(1) 设置Default collation 属性为 Chinese_PRC_CI_AS,采用中文字符集。
(2) 正确设置Oxite.Database 项目的Target database name 属性为:Oxite。同时,设置Default location for target database files – 默认数据库文件存放位置属性为:c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\。这一属性根据实际情况,可以设置为其他路径。
具体设置信息如下图所示:
具体设置信息如下图所示:
现在,编译、部署Oxite.Database 项目就可以正确通过了。此时,你可以进一步修改OxiteSite 项目中的web.config 配置文件,修改其中的数据库连接字符串 Connection String。如下所示:
<connectionStrings>
<addname="ApplicationServices"connectionString="Server=localhost; Database=Oxite;Integrated Security=true;"/>
</connectionStrings>
现在,重新编译、运行OxiteSite 项目,数据库连接到 SQL Server 2005 中的Oxite 数据库了,而不是先前的SQL Server express 的Oxite.Database.mdf 数据库文件。
本文由http://forum.entlib.com 开源论坛小组提供,欢迎交流、讨论、分享。
相关文章:
1. 微软发布Oxite开源CMS博客平台
2. Oxite 配置入门文章
3. Microsoft ASP.NET MVC Preview 5 及LINQ TO SQL最新版开发示例演示(提供源码下载)
/************************************************/
本博客内容如果是原著都会在标题后加上(原著)字样,未加者多数为转载.
/************************************************/