2013-01-18 74 views
1

我一直在使用sitecore工作一段时间。Sitecore网站需要编译?

自从我到达之后,我一直以现有的项目为参考,创建新的项目。

对于Sitecore,我们将为网站载入大量的文件夹和文件。我们只需要创建子贴图(*.ascx)以及JavaScript和CSS文件。

对于那些*.ascx文件,我把它们放在layouts/Project_Name/The_File_Name.ascxlayouts/Project_Name/The_File_Name.ascx.cs之下。

*.ascx文件,我有以下。

<%@ Control Language="c#" AutoEventWireup="true" TargetSchema="http://schemas.microsoft.com/intellisense/ie5" Inherits="Layouts.The_File_Name.The_File_NameSublayout" CodeFile="~/layouts/Project_Name/The_File_Name.ascx.cs" %> 

完成后,我将整个布局文件夹部署到生产服务器上。

我将创建生产服务器上的空白网站并复制了必要的文件,主要是JavaScript的,CSS和*.ascx文件。

昨天,一位Sitecore顾问建议我从CodeFile更改为CodeBehind并编译它们。

我明白,如果我们在Visual Studio中创建Web应用程序时,系统给了我们CodeBehind,每当我们改变,我们需要编译。

但是,如果我们创建一个网站,我们不需要编译。但是,我们可以发布该网站。

我的问题是:顾问是什么意思?我是否需要编译整个Sitecore网站文件夹?

如果是这样,我可以编译(构建)整个文件夹?

而且我可以从它的*.dll

到目前为止,我试图编译我的网站2,我得到这个错误

无法加载程序集或文件ChilkaDotNet2或它的一个依赖

回答

4

我同意顾问。有在Visual Studio二级项目类型:

  1. 网站项目
  2. Web应用程序项目

Sitecore的本身自带运已编译的Web应用程序,所以为你增添布局,sublayouts和其他任何进入它,你应该在VS中创建一个Web应用程序项目(WAP),并只包括你的文件在项目中。当你这样做,你只需要将你的项目的*.dll的部署到目标服务器的/bin/和任何*.aspx*.ascx文件(无码屁股或设计文件)。

现在,理论上,您可以在VS中创建WAP并手动将CodeBehind更改为CodeFile,但您需要部署*cs文件。一般来说,它建议使用一个Web应用程序,以便您可以使用自动化过程(如构建服务器或批处理脚本)来构建您的项目。

您发布的错误消息是因为您正在尝试构建网站项目。可以构建一个标准的非Sitecore网站项目,但是如果Sitecore的Sitecore本身已经作为编译后的WAP存在,并且不能从构建的项目中排除文件,则不能创建。

这里是一个博客帖子由Sitecore的的CTO,可以帮助你:Create a Visual Studio 2010 Project for a Sitecore Solution

+0

感谢您的回答。这是一个很大的帮助。我有一些问题,但。我是否需要像'layouts'和'xsl'文件夹一样创建'Sitecore'网站的确切文件夹结构?当我按照博客的指示,在第4步中,他要求只复制'.csproj'和'.csproj.user'文件并删除包含web.config和assemblyinfo文件的整个文件夹。我们不应该复制这些东西吗? – william

+0

不,您将使用Sitecore安装程序将部署到inetpub文件夹的web.config。您需要将其纳入您的项目。该文件夹结构不需要是确切的,我个人认为它不同。当您在Sitecore中添加Sublayouts或Renderings时,您将不得不添加ascx/xsl文件的位置,因此无关紧要。 – jammykam

+0

我明白了。所以,这个'web应用程序'只是为了更好的安全性和更清晰的结构。 – william