作为新版本安装的一部分,我们有适当调整现有web.config文件的web.config.delta文件。现在我知道如何添加/更新/删除SectionGroup键(因为我在这方面找到的所有帖子都是关于这个的),但我不知道如何添加新的AppSetting元素,添加新的sectiongroup。
即。这是我web.config里的所有新东西。我需要做什么更改才能使它作为“增量”应用?
<?xml version="1.0"?>
<configuration xmlns:xmu="urn:msbuildcommunitytasks-xmlmassupdate">
<configSections>
<section xmu:key="name" name="enterpriseLibrary.ConfigurationSource" type="Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ConfigurationSourceSection, Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
<section xmu:key="name" name="securityConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Security.Configuration.SecuritySettings, Microsoft.Practices.EnterpriseLibrary.Security, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
<sectionGroup name="authorization" type="Company.Security.Configuration.AuthorizationSectionGroup, Company.Library">
<section name="rowLevelSecurity" type="Company.Security.Configuration.RowLevelAuthorizationSection, Company.Library"/>
<section name="typeBasedSecurity" type="Company.Security.Configuration.TypeAuthorizationSection, Company.Library"/>
</sectionGroup>
</configSections>
<enterpriseLibrary.ConfigurationSource selectedSource="System Configuration Source">
<sources>
<add name="System Configuration Source" type="Microsoft.Practices.EnterpriseLibrary.Common.Configuration.SystemConfigurationSource, Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add name="Security-FileBasedConfigurationSource" type="Microsoft.Practices.EnterpriseLibrary.Common.Configuration.FileConfigurationSource, Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
filePath="Config/Enterprise-Security.config" />
</sources>
<redirectSections>
<add sourceName="Security-FileBasedConfigurationSource" name="securityConfiguration" />
</redirectSections>
</enterpriseLibrary.ConfigurationSource>
<authorization>
<rowLevelSecurity defaultProvider="SqlMembershipRowLevelSecurity">
<providers>
<add name="SqlMembershipRowLevelSecurity" type="Company.Security.DataAuthorization.SqlMembershipRowLevelSecurityProvider, Company.Library" applicationName="app1" connectionStringName="SecurityConnection"/>
</providers>
</rowLevelSecurity>
<typeBasedSecurity defaultProvider="SqlInPlaceTypeBasedSecurity">
<providers>
<add name="SqlInPlaceTypeBasedSecurity" type="Company.Security.Providers.SqlEntityTypeFunctionTypeSecurityProvider, Company.Common" applicationName="app1" connectionStringName="SecurityConnection"/>
</providers>
</typeBasedSecurity>
</authorization>
</configuration>我似乎找不到任何关于这些东西的简单信息--但也许我在谷歌上搜索错了术语。
我是否只需要像这样替换添加的部分:
<add name="System Configuration Source" type="Microsoft.Practices.EnterpriseLibrary.Common.Configuration.SystemConfigurationSource, Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add xmu:key="name" name="System Configuration Source" type="Microsoft.Practices.EnterpriseLibrary.Common.Configuration.SystemConfigurationSource, Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmu:action="add" />还是必须对section、sectiongroup和enterpriseLibrary.ConfigurationSource元素执行相同的操作??
谢谢!
发布于 2011-07-12 13:11:45
所以谢天谢地,我找到了一个正在进行合并的单元测试,这样我就可以在合并后在内存中检查XML。因此,在使用试验和错误发现时,我需要以下几点:
<?xml version="1.0"?>
<configuration xmlns:xmu="urn:msbuildcommunitytasks-xmlmassupdate" xmlns:un="http://schemas.microsoft.com/practices/2010/unity">
<configSections>
<section xmu:key="name" name="enterpriseLibrary.ConfigurationSource" type="Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ConfigurationSourceSection, Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" xmu:action="add" />
<section xmu:key="name" name="securityConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Security.Configuration.SecuritySettings, Microsoft.Practices.EnterpriseLibrary.Security, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" xmu:action="add"/>
<sectionGroup xmu:key="name" name="authorization" type="Company.Security.Configuration.AuthorizationSectionGroup, Company.Library" xmu:action="add">
<section xmu:key="name" name="rowLevelSecurity" type="Company.Security.Configuration.RowLevelAuthorizationSection, Company.Library" xmu:action="add"/>
<section xmu:key="name" name="typeBasedSecurity" type="Company.Security.Configuration.TypeAuthorizationSection, Company.Library" xmu:action="add"/>
</sectionGroup>
</configSections>
<enterpriseLibrary.ConfigurationSource selectedSource="System Configuration Source">
<sources>
<add xmu:key="name" name="System Configuration Source" type="Microsoft.Practices.EnterpriseLibrary.Common.Configuration.SystemConfigurationSource, Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmu:action="add" />
<add xmu:key="name" name="Security-FileBasedConfigurationSource" type="Microsoft.Practices.EnterpriseLibrary.Common.Configuration.FileConfigurationSource, Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
filePath="Config/Enterprise-Security.config" xmu:action="add" />
</sources>
<redirectSections>
<add xmu:key="name" sourceName="Security-FileBasedConfigurationSource" name="securityConfiguration" xmu:action="add" />
</redirectSections>
</enterpriseLibrary.ConfigurationSource>
<authorization>
<rowLevelSecurity defaultProvider="SqlMembershipRowLevelSecurity">
<providers>
<add xmu:key="name" name="SqlMembershipRowLevelSecurity" type="Company.Security.DataAuthorization.SqlMembershipRowLevelSecurityProvider, Company.Library" applicationName="app1" connectionStringName="SecurityConnection" xmu:action="add" />
</providers>
</rowLevelSecurity>
<typeBasedSecurity defaultProvider="SqlInPlaceTypeBasedSecurity">
<providers>
<add xmu:key="name" name="SqlInPlaceTypeBasedSecurity" type="InPlace.Security.Providers.SqlEntityTypeFunctionTypeSecurityProvider, InPlace.Common" applicationName="app1" connectionStringName="SecurityConnection" xmu:action="add"/>
</providers>
</typeBasedSecurity>
</authorization>
<un:unity xmlns="http://schemas.microsoft.com/practices/2010/unity">
<un:container>
<un:register xmu:key="type" type="Company.Interface.Logging.ILoggingProvider, Company.Library" mapTo="Company.NHibernate.LoggingProvider, Company.NHibernate" xmu:action="add">
<un:lifetime type="singleton" />
</un:register>
<un:register xmu:key="type" type="Company.Interface.Security.ITaskAuthorizationManager, Company.Library" mapTo="Company.EnterpriseLibrary.Security.TaskAuthorizationManager, Company.EnterpriseLibrary" xmu:action="add" >
<un:lifetime type="singleton" />
</un:register>
<un:register xmu:key="type" type="Company.Interface.Security.ITypeAuthorizationManager, Company.Library" mapTo="Company.EnterpriseLibrary.Security.TypeAuthorizationManager, Company.EnterpriseLibrary" xmu:action="add" >
<un:lifetime type="singleton" />
</un:register>
<un:register xmu:key="type" type="Company.Interface.Security.IPropertyAuthorizationManager, Company.Library" mapTo="Company.EnterpriseLibrary.Security.PropertyAuthorizationManager, Company.EnterpriseLibrary" xmu:action="add" >
<un:lifetime type="singleton" />
</un:register>
<un:register xmu:key="type" type="Company.Interface.Security.IRoleAuthorizationManager, Company.Library" mapTo="Company.Web.Security.RoleAuthorizationManager, Company.Library" xmu:action="add">
<un:lifetime type="singleton" />
</un:register>
<un:register xmu:key="type" type="Company.Interface.Security.IRowLevelAuthorizationManager, Company.Library" mapTo="Company.Web.Security.RowLevelAuthorizationManager, Company.Library" xmu:action="add">
<un:lifetime type="singleton" />
</un:register>
<un:register xmu:key="type" name="TypeSecurityProvider" type="Company.Security.TypeBasedAuthorization.TypeSecurityProvider, Company.Library" mapTo="Company.Security.Providers.SqlEntityTypeFunctionTypeSecurityProvider, Company.Common" xmu:action="add"/>
</un:container>
</un:unity>
</configuration>https://stackoverflow.com/questions/6621111
复制相似问题