No element in the source document matches /configu

2019-08-02 12:17发布

问题:

I have the next issue when transforming my Web.Config:

No element in the source document matches '/configuration/system.web/authorization/allow[@roles='WhateverGroupNameRenamedForProd']'

Here my Web.Config:

 <system.web>
<compilation targetFramework="4.5.2" debug="true" />
<httpRuntime targetFramework="4.5" />
<authorization>
  <allow roles="WhateverGroupName" />
  <deny users="*" />
</authorization>

And the Web.Production.Config:

<system.web>
<compilation xdt:Transform="RemoveAttributes(debug)" />
<authorization>
  <allow roles="WhateverGroupNameRenamedForProd" xdt:Transform="SetAttributes" xdt:Locator="Match(roles)"/>
</authorization>

What I'm doing wrong? Thanks in advance :)

回答1:

For the ones already interested, I found and fixed the problem: It was basically on the SetAttributes:

My old code:

<allow roles="WhateverGroupNameRenamedForProd" xdt:Transform="SetAttributes" xdt:Locator="Match(roles)"/>

Should be replaced by:

<allow roles="WhateverGroupNameRenamedForProd" xdt:Transform="SetAttributes(roles)"/>

Then you have so specify the attribute name on the SetAttributes, in my case it was "roles".