如何在Sharepoint Web应用程序中部署web.config修改?

时间:2009-03-07 00:21:46

标签: sharepoint sharepoint-2007

我在Sharepoint 2007中有一个网站。我们使用wsp来部署我们的项目。我们可以部署dll,用户控件和功能,但我不知道如何在web.config中包含新行。

哪种方式可以在web.config中进行更改?

另一件事,我怎样才能在wsp中包含资源(resx)?

6 个答案:

答案 0 :(得分:7)

手动编辑多服务器场中的web.config是个坏主意。确保web.config文件在每个WFE上保持同步将很快成为一场噩梦。

使用SPWebConfigModification类管理服务器场中的web.config更改是一个好主意,因为更改将保留在SharePoint配置数据库中,并自动推送到服务器场中的每个服务器。

话虽如此,对班级进行编码可能会很痛苦。幸运的是,有pretty good front-end可以免费使用,在管理中心为您提供配置屏幕,以添加/删除web.config更改。

答案 1 :(得分:2)

通过解决方案添加安全控制条目有一种非常简单的方法。添加到manifest.xml的以下代码段将对web.config文件进行相关修改。要设置其他值,您应该使用SPWebConfigModification类在功能接收器中执行此操作。

<Assemblies>
  <Assembly ...>
     <SafeControl Namespace=".." Assembly="..." Type="..." Safe="True" />
  </Assembly>
  ....
</Assemblies>

答案 2 :(得分:1)

此外,如果您考虑使用web.config中的appSettings作为您的站点配置值,您实际上也有其他选项。由于各种原因,web.config可能并不总是放置您的值的最佳位置 - 至少如果“超级用户”等应该能够在以后更改它们。为此,您可以改为使用配置存储功能,该功能还可以跨服务器场扩展,用于多个前端服务器等:

http://www.sharepointnutsandbolts.com/2008/05/introducing-sharepoint-config-store-for.html

答案 3 :(得分:0)

关于web.config文件...

Web.config是一个XML文档,其中包含Web应用程序的配置设置。它位于Web应用程序的根目录中,因此对于SharePoint,它通常位于文件夹C:\ Inetpub \ wwwroot \ wss \ VirtualDirectories \ SharePoint80中,其中SharePoint80是Web应用程序的名称。

只要您按正确的顺序保留标记和部分,手动对web.config文件进行编辑是安全的。请看this article

也可以以编程方式对其进行更改,this post应该向您展示如何更改。

希望这有帮助。

答案 4 :(得分:0)

我认为当你有多台服务器时,直接的web.config操作会变得棘手。如果您的整个安装只在几台服务器上进行,那么尝试通过代码进行简单的web.config更改可能会更容易。

另外,直接操作web.config可确保您在源代码管理系统中拥有完整的web.config。如果您使用API​​进行更改,那么您在源代码管理中所拥有的就是一堆C#代码,您希望它们没有错误!

答案 5 :(得分:0)

我建议不要乱用任何手动修改代码。相反,通过将修改放在12 \ Config目录as described in Microsoft's SharePoint documentation中来做“SharePoint方式”。