Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net Sitecore网站需要编译吗?_Asp.net_Visual Studio_Sitecore - Fatal编程技术网

Asp.net Sitecore网站需要编译吗?

Asp.net Sitecore网站需要编译吗?,asp.net,visual-studio,sitecore,Asp.net,Visual Studio,Sitecore,我在sitecore工作了一段时间 自从我来到这里,我就一直以现有的项目为参考,创建新的项目 对于Sitecore,我们将为网站加载文件夹和文件。我们只需要创建子布局(*.ascx)以及Java脚本和CSS文件 对于那些*.ascx文件,我将它们放在layouts/Project\u Name/The\u File\u Name.ascx和layouts/Project\u Name/The\u File\u Name.ascx下 在*.ascx文件中,我有以下内容 <%@ Control

我在sitecore工作了一段时间

自从我来到这里,我就一直以现有的项目为参考,创建新的项目

对于Sitecore,我们将为网站加载文件夹和文件。我们只需要创建子布局(
*.ascx
)以及Java脚本和CSS文件

对于那些
*.ascx
文件,我将它们放在
layouts/Project\u Name/The\u File\u Name.ascx
layouts/Project\u Name/The\u File\u Name.ascx

*.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" %>

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

我将在生产服务器上创建一个空白网站,并复制必要的文件,主要是JavaScripts、CSS和
*.ascx
文件

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

我知道,如果我们在VisualStudio中创建web应用程序,系统将为我们提供
codebeard
,每当我们更改时,我们都需要编译

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

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

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

我可以从中获取
*.dll

到目前为止,我已经尝试编译了我的2个站点,我得到了这个错误

无法加载程序集或文件ChilkaDotNet2或其依赖项之一


我同意顾问的意见。Visual Studio中有两种项目类型:

  • 网站项目
  • Web应用程序项目
  • Sitecore本身作为一个已编译的web应用程序提供,因此,要向其中添加布局、子布局和任何其他内容,您应在VS中创建一个web应用程序项目(WAP),并且只在项目中包含您的文件。执行此操作时,只需将项目的
    *.dll
    部署到目标服务器的
    /bin/
    和任何
    *.aspx
    *.ascx
    文件(无代码落后或设计器文件)

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

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


    下面是Sitecore首席技术官的一篇博文,可能会对您有所帮助:

    我同意顾问的意见。Visual Studio中有两种项目类型:

  • 网站项目
  • Web应用程序项目
  • Sitecore本身作为一个已编译的web应用程序提供,因此,要向其中添加布局、子布局和任何其他内容,您应在VS中创建一个web应用程序项目(WAP),并且只在项目中包含您的文件。执行此操作时,只需将项目的
    *.dll
    部署到目标服务器的
    /bin/
    和任何
    *.aspx
    *.ascx
    文件(无代码落后或设计器文件)

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

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


    下面是Sitecore首席技术官的一篇博文,可能会对您有所帮助:

    谢谢您的回答。这帮了大忙。不过我有一些问题。我是否需要创建准确的文件夹结构,如
    Sitecore
    网站,如
    layouts
    xsl
    文件夹?当我按照博客的指示在第4步中,他要求只复制
    .csproj
    .csproj.user
    文件,并删除整个文件夹,其中包括web.config和assemblyinfo文件。我们是否也应该复制这些内容?不,您将使用Sitecore安装程序将部署到inetpub文件夹的web.config。您需要将此重新包含到项目中。文件夹结构不需要精确,我个人的结构不同。在Sitecore中添加子布局或渲染时,您必须添加ascx/xsl文件的位置,这样就不重要了。我明白了。因此,这个
    web应用程序
    只是为了更好的安全性和更清晰的结构。不是特别的。它更多的是在编译时而不是运行时捕获代码中的错误和异常。最好尽早抓住它们!它不一定更快,因为在任何情况下,WSP与WAP部署后的第一个请求都会编译或启动应用程序。你应该看看微软关于WSP和WAP的一般指南:谢谢你的回答。这帮了大忙。不过我有一些问题。我是否需要创建准确的文件夹结构,如
    Sitecore
    网站,如
    layouts
    xsl
    文件夹?当我按照博客的指示在第4步中,他要求只复制
    .csproj
    .csproj.user
    文件,并删除整个文件夹,其中包括web.config和assemblyinfo文件。我们不应该也复制这些内容吗?不,您将使用Sitecore安装程序将要删除的web.config