C# 使用SPWebConfigModification更改Sharepoint web.config

C# 使用SPWebConfigModification更改Sharepoint web.config,c#,sharepoint,web-config,C#,Sharepoint,Web Config,我编写了一个sharepoint应用程序,需要更改web.config 我有一个功能,应该使所有这些配置。该功能的代码如下所示: SPSite site = properties.Feature.Parent as SPSite; List<SPWebConfigModification> modifications = new List<SPWebConfigModification>(); modifications.AddRange(CustomErrorsMode

我编写了一个sharepoint应用程序,需要更改web.config

我有一个功能,应该使所有这些配置。该功能的代码如下所示:

SPSite site = properties.Feature.Parent as SPSite;
List<SPWebConfigModification> modifications = new List<SPWebConfigModification>();
modifications.AddRange(CustomErrorsModeConfig.Modifications);
webConfigModificationHelper.AddWebConfigModifications(site.WebApplication, modifications);
最后是webConfigModificationHelper.AddWebConfigModifications方法:

foreach (SPWebConfigModification modification in modifications)
{
webApp.WebConfigModifications.Add(modification);
}
webApp.Farm.Services.GetValue<SPWebService>().ApplyWebConfigModifications();
webApp.Update();
在我尝试应用更改之前,web.config是否会出现问题

SPWebConfigModification属性是否定义不正确

我的代码中是否存在导致此错误的小故障

我可能缺少一些属性(例如web.AllowUnsafeUpdates)

某些sharepoint网站配置


我试图解决这个问题已经有一段时间了,但运气不好:(有什么想法吗?

我以前见过,当文件和声明之间的文件格式设置不正确时

在高级文本编辑器(记事本++或Visual Studio)中打开web.config文件,并手动强制文件类型与指定的类型匹配。通常是UTF-8

有关更多信息:

尝试使用列表模板和for循环,并使用简单的语法设置属性。下面是一篇关于在示例中设置属性的帖子,看看您是否能够实现这一点,然后通过列表和列表中项目的迭代构建更通用的解决方案

我可以推荐使用来更改web.config文件。我已经在许多功能中实现了这一点,这一直是一件痛苦的事情,尤其是在开发过程中。使用此工具可以使更改变得容易得多

foreach (SPWebConfigModification modification in modifications)
{
webApp.WebConfigModifications.Add(modification);
}
webApp.Farm.Services.GetValue<SPWebService>().ApplyWebConfigModifications();
webApp.Update();
Name cannot begin with the ''' character, hexadecimal value 0x27. Line 1, position 1453