Visual studio 在sitecore多站点解决方案中管理web.config

Visual studio 在sitecore多站点解决方案中管理web.config,visual-studio,asp.net-mvc-5,sitecore,sitecore8,sitecore-mvc,Visual Studio,Asp.net Mvc 5,Sitecore,Sitecore8,Sitecore Mvc,我们有一个多站点解决方案,每个网站都有单独的VisualStudio解决方案。然后,我们有了构建/部署所有网站的主解决方案 首先,不确定在Visual Studio解决方案中包含web.config是否是最佳实践。但我认为所有nuget软件包都需要web.config来添加它们的设置 因此,每个解决方案都有web.config。但是,当我们从主web.config部署时,每个站点都会覆盖它 有人能建议如何解决这个问题吗 谢谢。我建议每个网站(在其各自的项目下)创建自己的App\u Config/

我们有一个多站点解决方案,每个网站都有单独的VisualStudio解决方案。然后,我们有了构建/部署所有网站的主解决方案

首先,不确定在Visual Studio解决方案中包含web.config是否是最佳实践。但我认为所有nuget软件包都需要web.config来添加它们的设置

因此,每个解决方案都有web.config。但是,当我们从主web.config部署时,每个站点都会覆盖它

有人能建议如何解决这个问题吗


谢谢。

我建议每个网站(在其各自的项目下)创建自己的App\u Config/Include文件夹,并在该文件夹中创建\u project\u name\u.Config,以便保留所有特定于站点的设置(以便进一步合并到生成的配置中)

在构建时,您(为每个单独的项目)设置了要复制到主SITECORE\u实例\u WEB\u ROOT\App\u config\Include文件夹中的文件,以及其余的Include补丁配置文件

最佳实践是 使用APP_Config\Include目录,或者更好地为每个项目在Include文件夹下创建自己的目录。尽可能尝试更改web.config文件。(然后可以从部署中排除web.config)


nuget包在
标记外包含web.config的更改。无法在include文件夹中设置,需要手动管理。

我会在主站点中保留一个web.config,并从其他web项目中删除web.config文件。原因是,每个多站点不能有不同的web.config文件


根据上述特定于站点的设置,它们应存储在App_配置文件中。

谢谢Martin,我们可以为应用程序设置和特定于sitecore的设置执行此操作。如果我们添加了新的configSections等,该怎么办?另一个例子是将会话状态从InProc更新为Custom等。可以通过app_config\include进行上述操作?我100%确信,对于配置文件中节点下的任何内容,您都可以这样做!还没有测试过HttpHandler和类似的外部程序,不认为它们可以用于sitecore的配置补丁。另外:与问题无关,但我建议将web.config中的整个部分提取到单个配置文件App_config\Sitecore.config中。在另一篇文章中,您已经为您的项目实施了多个解决方案。您如何管理需要sitecore更新的更改,例如WCF设置、使用端点时站点可能需要的Azure服务总线设置。我既没有WCF,也没有Azure。其余的都是在整个实例中共享的。因此,每次添加新的nuget包时,我们都需要手动更新每个环境的web.config文件?web.config中的更改并不常见。在sitecore标签之外,如果这种情况经常发生,那么您需要以某种方式进行管理。你用的是哪种裸体?(可能是一个joint web.config,因为这些更改不会破坏没有包的其他项目?)