我试图在运行时向我的Web.config文件添加一个新的dependentAssembly。到目前为止,我当前的代码有以编程方式将dependentAssembly添加到运行时 assemblyBinding
XmlNamespaceManager manager = new XmlNamespaceManager (WebConfigDoc.NameTable);
manager.AddNamespace("bindings", "urn:schemas-microsoft-com:asm.v1");
XmlNode root = WebConfigDoc.DocumentElement;
XmlNode assemblyBinding = root.SelectSingleNode("//bindings:assemblyBinding", manager);
XmlNode newAssemblyBinding = WebConfigDoc.ImportNode(GetElement(MyNewNode()), true);
assemblyBinding.AppendChild(newAssemblyBinding);
}
private string MyNewNode()
{
string Node = "<dependentAssembly>" +
"<assemblyIdentity name=\"newone\" "+
" publicKeyToken=\"608967\" />" +
"<bindingRedirect oldVersion=\"1\" newwVersion=\"2\" />" +
"</dependentAssembly>";
return Node ;
}
这工作,但结果节点是这个
<dependentAssembly xmlns="">
<assemblyIdentity name="newone" publicKeyToken="608967" />
<bindingRedirect oldVersion="1" newVersion="2" />
</dependentAssembly>
我不需要的xmlns=""
属性附加。
有没有更好的方法来做到这一点?
谢谢。
好问题,+1。请参阅我的答案以获得解释和完整而简单的解决方案。 – 2010-12-22 19:15:25
你问*有没有更好的方法来做到这一点?*除了@Dimitre正确的答案,我认为XSLT更适合这项任务。 – 2010-12-22 20:30:43