我不能完全弄清楚我在這裏做錯了什麼。我有一個web配置節點:使用web.config替換整個節點變換導致錯誤
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
...
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
....
,我想替換這跟:使用的MSBuild TransformXml
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" />
<bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="9.0.0.0" />
</dependentAssembly>
。我無法完全弄清楚xdt屬性的正確語法。下面(看起來正確的給我):
<dependentAssembly xdt:Transform="Replace"
xdt:Locator="Condition(param/@name='Newtonsoft.Json'">
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" />
<bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="9.0.0.0" />
</dependentAssembly>
是導致錯誤:
XmlNodeException : Transform and Locator attributes must contain only a type name, or a type name followed by a list of attributes in parentheses.
我缺少什麼嗎?
我不能改變原來的順便說一句,這必須使用變換完成。
你可以試試這個你變換 - '' –
Alex
這會導致錯誤'XmlNodeException:'/ configuration/runtime/_defaultNamespace:assemblyBinding/_defaultNamespace:dependentAssembly [./_ defaultNamespace:assemblyIdentity/@ name ='Newtonsoft.Js on']'有一個無效的標記。「@alex。謝謝 – Liam
嗯,唯一的地方,我可以找到你最初得到的錯誤是 - https://github.com/micahlmartin/XmlTransformer/blob/master/src/XmlTransformer/XmlElementContext.cs#L292 - 這是第三方解析器...? – Alex